BUILDDIR := ./build SRCDIR := ./src CXX := g++ # Linker flag LD_CXXFLAGS = # Compilation flag CXXFLAGS = -Wall -Wextra -g -O3 # Remove warnings about unused variables, functions, ... # -Wno-unused-parameter -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable # Compile with debug # -g # See memory leaks and Incorrect Read/Write # -fsanitize=address -lasan $(BUILDDIR)/main: $(SRCDIR)/main.cpp $(BUILDDIR)/input.o src/include/parser.h $(CXX) $^ -o $@ $(CXXFLAGS) $(LD_CXXFLAGS) $(BUILDDIR)/%.o: $(SRCDIR)/%.cpp $(SRCDIR)/include/%.h $(CXX) -c $< -o $@ $(CXXFLAGS) clean: rm -rf $(BUILDDIR)/*