SOURCES := $(wildcard src/*.cpp) OBJS = $(patsubst %.cpp,%.o,$(SOURCES)) CXXFLAGS += -Wall -pedantic -Werror -std=c++17 -I src/ all: justify justify: $(OBJS) $(info Linking...) $(CXX) $(CXXFLAGS) -o justify $(OBJS) $(LDFLAGS) %.o: %.cpp $(CXX) $(CXXFLAGS) -MD -MT $@ -o $@ -c $< clean: $(info Cleaning...) find . -name '*.o' -exec rm {} \; rm justify