CXX = g++ CXXFLAGS = -Wall -Wextra -std=c++17 -O2 -g LDFLAGS = -lsndfile -lfftw3 TARGET = recog CXXFLAGS += $(shell pkg-config --cflags sdl2) LDFLAGS += $(shell pkg-config --libs sdl2) OBJDIR = obj .PHONY: all clean all: $(TARGET) clean: @echo "Cleaning" @rm -f $(TARGET) @rm -rf $(OBJDIR) $(OBJDIR)/%.o: %.cpp $(wildcard *.h) @mkdir -p $(OBJDIR) @echo "CXX $<" @$(CXX) $(CXXFLAGS) -c -o $@ $< $(TARGET): $(patsubst %.cpp,$(OBJDIR)/%.o,$(wildcard *.cpp)) @echo "LD -o $@" @$(CXX) -o $@ $^ $(LDFLAGS)