CXX ?= c++ CPPFLAGS ?= -O2 CPPFLAGS += -Wall \ -Wextra \ -pipe \ -Wmissing-declarations \ -pedantic \ -fstack-protector-strong \ LDFLAGS=-lncursesw -Wl,-z,relro,-z,now SOURCES = main.cpp \ chess.cpp \ bishop.cpp \ rook.cpp \ queen.cpp \ king.cpp \ knight.cpp \ pawn.cpp OBJECTS = $(SOURCES:.cpp=.o) EXECUTABLE = chess all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) @echo ' LD $@' @$(CXX) $(LDFLAGS) $(OBJECTS) -o $@ .cpp.o: @echo ' CC $@' @$(CXX) $(CPPFLAGS) -c $< -o $@ clean: rm -rf $(OBJECTS) $(EXECUTABLE) distclean: rm -rf $(OBJECTS)