CC := gcc
CXX := g++

O_LDFLAGS := 
O_CFLAGS := -O3

O_LDFLAGS_DEBUG := 
O_CFLAGS_DEBUG := -pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=5 -Wswitch-default -Wundef -Wno-unused -Weffc++

I_LDFLAGS := -lfuse3 -pthread
I_CFLAGS := -I/usr/include/fuse -D_FILE_OFFSET_BITS=64

SOURCES_DIR := ./sources
BUILD_DIR := ./build

build: $(SOURCES_DIR)/main.cpp
	$(CXX) $(O_CFLAGS) $(I_CFLAGS) $(SOURCES_DIR)/main.cpp $(O_LDFLAGS) $(I_LDFLAGS) -o $(BUILD_DIR)/icfs

dev-build: $(SOURCES_DIR)/main.cpp
	$(CXX) $(O_CFLAGS_DEBUG) $(I_CFLAGS) $(SOURCES_DIR)/main.cpp $(O_LDFLAGS_DEBUG) $(I_LDFLAGS) -o $(BUILD_DIR)/icfs