CXX = g++
CXXFLAGS = -O2 -std=c++17 -pthread

TARGET = lab2
SRC = main.cpp

LOG = log.txt
PY = python3

all: $(TARGET)

$(TARGET): $(SRC)
	$(CXX) $(CXXFLAGS) $< -o $@

# обычный запуск
run: $(TARGET)
	./$(TARGET) 20000 4

# запуск с сохранением лога
log: $(TARGET)
	./$(TARGET) 20000 4 > $(LOG)

# анализ лога (таблица + график)
analyze: log
	$(PY) analyze_log.py $(LOG)

# быстрый полный цикл
bench: $(TARGET)
	@echo "Running benchmark..."
	./$(TARGET) 20000 0 > log_0.txt
	./$(TARGET) 20000 2 > log_2.txt
	./$(TARGET) 20000 4 > log_4.txt
	./$(TARGET) 20000 8 > log_8.txt

# анализ конкретного лога
analyze0:
	$(PY) analyze_log.py log_0.txt

analyze2:
	$(PY) analyze_log.py log_2.txt

analyze4:
	$(PY) analyze_log.py log_4.txt

analyze8:
	$(PY) analyze_log.py log_8.txt

clean:
	rm -f $(TARGET) *.txt
