繁体   English   中英

Makefile:将多个C文件转换为多个二进制文件

[英]Makefile: make multiple c files to multiple binaries

我在目录中有一堆C文件(每个文件的名称都以字符program开头,例如program1.cprogram2.cprogram3.c ),并且我打算将每个C文件编译成各自的文件二进制( program1program2program3 )。

我将如何编写Makefile来实现这一目标,以便我可以简单地发出make来创建多个二进制文件? 使用循环而不是为每个c源文件手动声明一个make语句)

这是我的尝试:

CFLAGS=-Wall -g 
SRCS=$(wildcard program*.c)

all:
    for F in *.c; do \
    F=$${$$F.%c}; make $$F; done

clean:
    rm -f program1
    rm -f program2
    rm -f program3

这给我一个bad subsitution错误。

PROGS := $(patsubst %.c,%,$(SRCS))

all: $(PROGS)

clean:
    /bin/rm $(PROGS)

应该做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM