我想一次编译所有的c文件。例如)aaa.c
,bbb.c
-> aaa.o
,bbb.o
各自独立。
我的
CFLAGS=-std=c99
SRCS=$(wildcard *.c)
all:$(SRCS)
gcc -o $@ $^ $(CFLAGS)
但是
make all
命令不起作用。如何一次编译所有c文件?
我改为使用代码,但仍然无法正常工作
CFLAGS=-std=c99
SRCS=$(wildcard *.c)
OBJS:=$(patsubst %.c,%.o,%(SRCS))
all:$(OBJS)
最佳答案
最简单的方法:将gcc -o ...
更改为gcc -c -o ...
更好的方法:列出要构建的目标文件:
OBJS := $(patsubst %.c,%.o,$(SRCS))
然后您要做的就是:
all: $(OBJS)