47 lines
787 B
Makefile
47 lines
787 B
Makefile
CXX ?= c++
|
|
CXXFLAGS ?= -O2
|
|
CXXFLAGS += -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
|
|
INSTALLDIR := $(DESTDIR)/usr/bin
|
|
|
|
all: $(SOURCES) $(EXECUTABLE)
|
|
|
|
$(EXECUTABLE): $(OBJECTS)
|
|
@echo ' LD $@'
|
|
@$(CXX) $(LDFLAGS) $(OBJECTS) -o $@
|
|
|
|
.cpp.o:
|
|
@echo ' CC $@'
|
|
@$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
rm -rf $(OBJECTS) $(EXECUTABLE)
|
|
|
|
distclean:
|
|
rm -rf $(OBJECTS)
|
|
|
|
install:
|
|
install -m755 -D $(EXECUTABLE) "$(INSTALLDIR)/$(EXECUTABLE)"
|
|
|
|
uninstall:
|
|
rm -f "$(INSTALLDIR)/$(EXECUTABLE)"
|
|
|