CXX := g++
CXXFLAGS := -O2 -std=c++17 -Wall -Wextra -pedantic
TARGET := lab3
OUT_DIR := out

.PHONY: all run test export clean pack

all: $(TARGET)

$(TARGET): main.cpp
	$(CXX) $(CXXFLAGS) main.cpp -o $(TARGET)

run: $(TARGET)
	./$(TARGET) --size 100000 --depth 2 --min-size 4096

test: $(TARGET)
	python3 test_lab3.py

export: $(TARGET)
	python3 exporter.py --bin ./$(TARGET) --out $(OUT_DIR)

pack: clean
	zip -r lab3_process_pipes.zip main.cpp Makefile exporter.py test_lab3.py README.md

clean:
	rm -f $(TARGET) lab3_process_pipes.zip
	rm -rf $(OUT_DIR) __pycache__
