CXXFLAGS += -std=c++17 -pedantic -Wall LDFLAGS=-lm -lstdc++ SRC=test.cpp OBJ=$(SRC:%=%.o) JSON=$(OBJ:%=%.json) HDR=markov.hpp BIN=test all: $(BIN) compile_commands.json $(BIN): $(OBJ) $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJ) -o $@ $(OBJ): %.o: % $(HDR) $(CXX) $(CXXFLAGS) -c $< -o $@ $(JSON): %.o.json: % Makefile clang $(CXXFLAGS) -c $< -o /dev/null -MJ $@ compile_commands.json: $(JSON) sed -e '1s/^/[\n/' -e 's/,$$/\n]/' $^ > $@ clean: rm -f $(BIN) $(OBJ) $(JSON) .PHONY: clean