2

我创建了一个简单的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”时,相应的程序将编译。

4

1 回答 1

2

只需在命令行上提供它。

make COMMON=bye

如果目标可以从当前目录中的文件名中预测,那么您根本不需要 Makefile,因为 Make 已经知道如何multiplymultiply.c.

.PHONY: all
all: hello add multiply factorial

如果你真的想要一个明确的食谱,试试这样的。

%: %.c
        gcc -o $@ $^
于 2012-07-09T11:17:23.577 回答