CXX = g++ CXXFLAGS = -Wall -Wextra -std=gnu++11 -g -fwrapv -I$(FLTK)/include LDFLAGS = TARGETS = sim gui FLTK = /usr/local/opt/fltk # Disable automatic rules .SUFFIXES: .PHONY: all clean remake all: $(TARGETS) clean: rm -f $(TARGETS) *.o remake: clean $(MAKE) all sim: %: %.o $(filter-out $(addsuffix .o,$(TARGETS)),$(patsubst %.cpp,%.o,$(wildcard *.cpp))) $(CXX) -o $@ $^ $(LDFLAGS) gui: %: %.o $(filter-out $(addsuffix .o,$(TARGETS)),$(patsubst %.cpp,%.o,$(wildcard *.cpp))) $(CXX) -o $@ $^ $(LDFLAGS) -L$(FLTK)/lib -lfltk %.o: %.cpp $(wildcard *.h) $(CXX) $(CXXFLAGS) -c -o $@ $<