CC=g++

CFLAGS= -std=c++23

INCLUDE_DIR= include

SRC_DIR= src

# Get all cpp files from src directory
SRCS := $(wildcard $(SRC_DIR)/*.cpp)

all: main run

main: main.cpp $(SRCS)
	$(CC) $(CFLAGS) -O3 -I$(INCLUDE_DIR) $(SRCS) main.cpp -o main

debug:  main.cpp $(SRCS)
	$(CC) $(CFLAGS) -I$(INCLUDE_DIR) $(SRCS) -g main.cpp -o main

profile: main.cpp $(SRCS)
	$(CC) $(CFLAGS) main.cpp -g -pg -static-libgcc -o main

run: main
	time ./main ./examples/testni_primer2.txt > out.txt
	diff out.txt ./examples/testni_primer2_resitev.txt

zip:
	zip -r main.zip main.cpp $(INCLUDE_DIR) $(SRC_DIR) makefile

clean:
	rm main
