0
搞得我有这个很基本的Makefile:添加自定义扩展到可执行文件生成文件
CC=gcc
CFLAGS=-Wall -g -O -pedantic -Wformat=2 -Wextra -lm
而实际上它编译foo.c
到foo.
我如何添加自定义扩展,比如我希望它编译foo.c
在foo.run
。
非常感谢。
搞得我有这个很基本的Makefile:添加自定义扩展到可执行文件生成文件
CC=gcc
CFLAGS=-Wall -g -O -pedantic -Wformat=2 -Wextra -lm
而实际上它编译foo.c
到foo.
我如何添加自定义扩展,比如我希望它编译foo.c
在foo.run
。
非常感谢。
添加到您的makefile
:
foo.run : foo.c
$(CC) $(CFLAGS) -o [email protected] $<
确保第二行以制表符,而不是空格开始。然后查看您的make版本的手册页或其他文档。
这样,只有foo.c是在foo.run中构建的,而我想要在* .run(其中*是源文件的名称)中构建每个c源文件。 – Zagorax
'%.run:%.c'而不是显式'foo.run:foo.c'会是更好的选择... –
@EldarAbusalimov - 这绝对是OP的正确方法,因为OP有多个目标来构建 - 原来的问题没有说清楚。如果只有一个目标是以这种方式建立的,我更愿意按照我的方式明确说明它,以避免未来出现意外。 – twalberg