我正在通过完成许多小程序来熟悉C ++,每个程序都包含在一个单独的cpp文件中。我还想学习更多关于Makefile的知识,并决定编写一个Makefile,将编译所有小程序并生成每个程序的可执行文件。使用当前的Makefile,我必须:
- 将名称附加到“BINARIES”末尾
- 复制重复的目标并将目标名称替换为二进制名称
BIN=./bin/
SOURCE=./src/
CXX=g++
CXXFLAGS=-g -c -Wall
BINARIES=sums-in-loop sum-in-loop sum-of-two
RM=rm -f
all: sums-in-loop sum-in-loop sum-of-two
sums-in-loop:
$(CXX) $(CXXFLAGS) $(SOURCE)$@.cpp -o $(BIN)$@
sum-in-loop:
$(CXX) $(CXXFLAGS) $(SOURCE)$@.cpp -o $(BIN)$@
sum-of-two:
$(CXX) $(CXXFLAGS) $(SOURCE)$@.cpp -o $(BIN)$@
clean:
$(RM) $(BIN)*
CXX
和RM
已经被Make设置为您提供的完全相同的字符串。 - user657267