Makefile - 为文件夹中的每个.c创建一个可执行文件

edu*_*oni 8 c makefile

我的问题看似简单,但我已经失去了几个小时的学习试图找到解决方案.我正在尝试创建一个Makefile,为目录中的每个.c文件构建可执行文件.

我尝试过以下方法:

CC = gcc
SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c,%.o,$(SRCS))

all: $(OBJS)
$(CC) $< -o $@

%.o: %.c
    $(CC) $(CPFLAGS)  -c  $<
Run Code Online (Sandbox Code Playgroud)

但这样它只创建.o文件,而不是任何可执行文件.我需要一个规则,为每个.o文件生成一个可执行文件.类似于以下内容:

gcc src.o -o src
Run Code Online (Sandbox Code Playgroud)

Jos*_*sey 6

抢劫的答案似乎不适用于我的机器.也许,作为完整的Makefile:

SRCS = $(wildcard *.c)

all: $(SRCS:.c=)

.c:
     gcc $(CPFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)

(最后两行是在我的机器上,不必要,因为默认规则是足够的.)