Added 'C_C++/cpp_zh/GNUmakefile'
This commit is contained in:
36
C_C++/cpp_zh/GNUmakefile
Normal file
36
C_C++/cpp_zh/GNUmakefile
Normal file
@ -0,0 +1,36 @@
|
||||
.PHONY: clean run
|
||||
|
||||
ifeq (${DEBUG}, 1)
|
||||
LFLAGS += --debug --trace
|
||||
CXXFLAGS += -Wall -Wextra -Wpedantic
|
||||
CXXFLAGS += -DDEBUG -O0 -ggdb -fno-inline
|
||||
WRAP := valgrind --track-origins=yes --leak-check=full --show-leak-kinds=all
|
||||
else
|
||||
CXXFLAGS += -O3 -fno-stack-protector
|
||||
endif
|
||||
|
||||
OUT := a.out
|
||||
|
||||
SOURCE.d := source/
|
||||
OBJECT.d := object/
|
||||
|
||||
HEADER := Employee.hpp Worker.hpp Contractee.hpp Manager.hpp Company.hpp
|
||||
HEADER := $(addprefix ${SOURCE.d}/,${HEADER})
|
||||
SOURCE := main.cpp Employee.cpp Worker.cpp Contractee.cpp Manager.cpp Company.cpp
|
||||
OBJECT := $(addprefix ${OBJECT.d}/,${SOURCE})
|
||||
OBJECT := ${OBJECT:.cpp=.o}
|
||||
|
||||
${SOURCE.d}/%.cpp: ${SOURCE.d}/%.hpp
|
||||
|
||||
${OBJECT.d}/%.o: ${SOURCE.d}/%.cpp
|
||||
${COMPILE.cpp} -o $@ $<
|
||||
|
||||
${OUT}: ${HEADER} ${OBJECT}
|
||||
${LINK.cpp} -o $@ ${OBJECT} ${LDLIBS}
|
||||
|
||||
run: ${OUT}
|
||||
${WRAP} ./${OUT}
|
||||
|
||||
clean:
|
||||
-rm ${OUT}
|
||||
-rm ${OBJECT}
|
Reference in New Issue
Block a user