Makefile 如何在GNU make中使用命令行参数?
例如,我有10个名为Makefile 如何在GNU make中使用命令行参数?,makefile,Makefile,例如,我有10个名为ex1.c、ex2.c、ex3.c…ex10.c的源文件,将来可能还会有更多 我是否可以在GNU Make中使用命令行参数作为变量,这样当我想编译ex1.c时,我就可以键入Make 1。如果我想编译ex10.c,我可以输入make10。当我以后添加更多的源代码(如ex100.c)时,我不需要向makefile添加更多的行。我觉得这不是一个好主意,但是的,你可以做到 要生成对象文件(例如,ex3.o),请执行以下操作: 创建一个示例shell/命令行脚本您应该能够只需再键入两个
ex1.c
、ex2.c
、ex3.c
…ex10.c
的源文件,将来可能还会有更多
我是否可以在GNU Make中使用命令行参数作为变量,这样当我想编译
ex1.c
时,我就可以键入Make 1
。如果我想编译ex10.c
,我可以输入make10
。当我以后添加更多的源代码(如ex100.c
)时,我不需要向makefile
添加更多的行。我觉得这不是一个好主意,但是的,你可以做到
要生成对象文件(例如,ex3.o
),请执行以下操作:
创建一个示例shell/命令行脚本您应该能够只需再键入两个字母即可执行
make ex1
和make ex10
和make ex100
;这是正统的,在makefile
中不需要特殊规则。显然,如果你使用一个较长的名字(make example-10
),就有更多的内容需要输入,但是否真的值得,还有点争议。@JonathanLeffler是的,你是对的
%: ex%.c
$(CC) -c $< -o ex$*.o
%: ex%.c
$(CC) $< -o ex$*