CPP=g++
CFLAGS=-Wall -O3 -std=c++23 -fopenmp
INCLUDE=. $(TBB_DIR)/include
LDFLAGS=
LIBS=tbb
LIBDIRS=$(TBB_DIR)/lib
SOURCE=cpu-graph-components.cpp
HEADERS=$(shell find . -name '*.hpp')
EXECUTABLE=./cpu-graph-components

.PHONY: all clear clean purge

all: $(EXECUTABLE)


# Building Targets

$(EXECUTABLE): $(SOURCE) $(HEADERS)
	@$(CPP) $(CFLAGS) $(addprefix -I,$(INCLUDE)) $(LDFLAGS) $(addprefix -L,$(LIBDIRS)) $(addprefix -l,$(LIBS)) $< -o $@


# Cleaning Stuff

clear:
	@echo Removing all generated files...
	-@rm -f $(EXECUTABLE)

clean: clear

purge: clear

