【发布时间】:2021-12-30 11:35:44
【问题描述】:
我的项目目录如下所示:
/project
Makefile
/src
main.c
foo.c
bar.c
/exec
main
foo
bar
我希望 Makefile 为 /src 文件夹中的每个 .c 文件生成一个可执行文件,并将可执行文件放入 /exec 文件夹中。
这是我第一次使用 Makefile,我尝试了下面的代码,但它会在 /src 文件夹中生成 exec 文件,我希望它们位于 /exec 文件夹中
CFLAGS := -Wall -g
SRC_DIR := src
EXEC_DIR := exec
SRC_FILES := $(wildcard $(SRC_DIR)/*.c)
all: $(SRC_FILES:.c=)
.c:
gcc $(CFLAGS) $< -o $(EXEC_DIR)/$@
【问题讨论】:
-
不是生成可执行文件的 gcc 命令:``` gcc file.c -o file ``
-
@Fredrik
-o选项用于指定name of the primary output file。它与生成的输出的类型无关。 -
@G.M 你是对的,我把 -o 标志和 -c 混淆了:/
标签: c linux gcc makefile gnu-make