CXX = g++ CXXFLAGS = -Wall -Wextra -std=c++17 -O2 -g -pthread -flto $(pkg-config --cflags mpfr) LDFLAGS = $(CXXFLAGS) $(pkg-config --libs mpfr) TARGET = mpmandel SOURCES = $(wildcard *.cpp) lodepng/lodepng.cpp OBJDIR = obj .PHONY: all clean all: $(TARGET) clean: @echo "Cleaning" @rm -f $(TARGET) @rm -rf $(OBJDIR) $(OBJDIR)/%.o: %.cpp $(wildcard *.h) | $(OBJDIR) @mkdir -p $(dir $@) @echo "CXX $<" @$(CXX) $(CXXFLAGS) -c -o $@ $< $(TARGET): $(patsubst %.cpp,$(OBJDIR)/%.o,$(SOURCES)) | $(OBJDIR) @echo "LD -o $@" @$(CXX) -o $@ $^ $(LDFLAGS) $(OBJDIR): @mkdir -p $(OBJDIR)