CXX      := g++
PYTHON   := python3
PIP      := $(PYTHON) -m pip

CXXFLAGS := -Wall -Wextra -O2 -std=c++17
LDFLAGS  := -lrt

TARGET   := lab1
SRC      := main.cpp

LOG_FILE := log.txt

MD_FILE  := processes.md
IMG_FILE := gantt.png

PY_EXPORT := exporter.py

.PHONY: all run log export report deps clean rebuild

# -------------------------
# BUILD
# -------------------------
all: $(TARGET)

$(TARGET): $(SRC)
	$(CXX) $(CXXFLAGS) $(SRC) -o $(TARGET) $(LDFLAGS)

# -------------------------
# RUN ONLY
# -------------------------
run: $(TARGET)
	./$(TARGET)

# -------------------------
# LOG ONLY (C++ output)
# -------------------------
log: $(TARGET)
	./$(TARGET) > $(LOG_FILE)

# -------------------------
# EXPORT (C++ + Python pipeline)
# -------------------------
export: $(TARGET)
	./$(TARGET) > $(LOG_FILE)
	$(PYTHON) $(PY_EXPORT) $(LOG_FILE)

# -------------------------
# DEPENDENCIES
# -------------------------
deps:
	$(PIP) install matplotlib

# -------------------------
# CLEAN
# -------------------------
clean:
	rm -f $(TARGET) $(LOG_FILE) $(MD_FILE) $(IMG_FILE)

# -------------------------
# REBUILD
# -------------------------
rebuild: clean all
