如何通过Makefile实现执行make example.c编译指定C程序?
实现方法
直接在代码目录下创建名为Makefile的文件,写入以下内容:
# 定义默认编译器,可替换为clang等其他编译器 CC = gcc # 定义编译参数,这里包含常用警告和优化选项,可按需修改 C_FLAGS = -Wall -Wextra -O2 # 模式规则:匹配任意xxx.c作为目标时,自动执行编译命令 %.c: $(CC) $(C_FLAGS) $@ -o $(basename $@)
之后就能按你的需求操作:
- 执行
make example.c,会自动运行gcc -Wall -Wextra -O2 example.c -o example,生成可执行文件example - 编译其他C文件同理,比如
make test.c会直接编译test.c生成test
简单解释
$@是Make的自动变量,代表当前执行的目标文件名(也就是你输入的xxx.c)$(basename $@)会自动去除文件名后缀,得到对应的可执行文件名称(比如xxx)
内容的提问来源于stack exchange,提问作者Tenobaal
相关产品推荐
相关产品推荐

