我想一次编译所有的c文件。例如)aaa.cbbb.c-> aaa.obbb.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)

09-04 01:20