我创建了一个简单的makefile,即
COMMON=hello
all:
gcc $(COMMON).c -o $(COMMON).o
我运行makefile的目录包含三个文件:hello.c add.c multiply.c factorial.c和subtraction.c。
当我使用make
命令在终端中编译它时,打印hello。现在我想在程序中进行更改,这样当我编写“make add”或“make multiply”或“make factorial”时,相应的程序将被编译。
答案 0 :(得分:1)
只需在命令行上提供它。
make COMMON=bye
如果目标是可以从当前目录中的文件名预测的,那么您根本不需要Makefile,因为Make已经知道如何从multiply
创建multiply.c
。
.PHONY: all
all: hello add multiply factorial
如果您真的想要一个明确的食谱,请尝试这样的事情。
%: %.c
gcc -o $@ $^