CC=g++ CFLAGS= -std=c++23 INCLUDE_DIR= include SRC_DIR= src BUILD_DIR= build SRCS := $(wildcard $(SRC_DIR)/*.cpp) OBJS := $(patsubst $(SRC_DIR)/%.cpp,$(BUILD_DIR)/%.o,$(SRCS)) all: directories main run directories: mkdir -p $(BUILD_DIR) # Rule to compile each source file into an object file $(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp $(INCLUDE_DIR)/*.h $(CC) $(CFLAGS) -O3 -I$(INCLUDE_DIR) -c $< -o $@ # Rule to link the object files into the main executable main: main.cpp $(OBJS) $(CC) $(CFLAGS) -O3 -I$(INCLUDE_DIR) $(OBJS) main.cpp -o main -lcurl debug: main.cpp $(SRCS) $(CC) $(CFLAGS) -I$(INCLUDE_DIR) $(SRCS) -g main.cpp -o main -lcurl dec: dec.cpp $(OBJS) $(CC) $(CFLAGS) -I$(INCLUDE_DIR) $(OBJS) -g dec.cpp -o dec run: main ./main zip: zip -r main.zip main.cpp $(INCLUDE_DIR) $(SRC_DIR) makefile dec.cpp cameras.csv porocilo.pptx clean: rm main out.bmp dec build/*.o