c - 用于学习的自定义 make 命令
问题描述
我想要一个像这样的 make 命令,但是我可以向其传递许多参数,并且生成的文件的名称是第一个文件的名称。
它必须接受带有 .c 的名称,并从可执行文件名的源文件名中删除 .c。
# My custom make command
mk() {
echo "gcc -ggdb -std=c99 -Wall -Werror ${1}.c -o $1";
gcc -ggdb -std=c99 -Wall -Werror ${1}.c -o $1 ;
}
可能是这样的?
mk() {
echo "gcc -ggdb -std=c99 -Wall -Werror ${@} -o $1";
output=$1
set -- "${@/%/.c}"
gcc -ggdb -std=c99 -Wall -Werror ${@} -o $output;
}
解决方案
您可以编写一个Makefile
允许您使用单个规则创建多个目标的方法。
事实上,构建一个<FOO>
from<FOO>.c
是make
有一个预定义规则的东西,所以你可以创建一个 Makefile
CC = gcc
CFLAGS = -ggdb -std=c99 -Wall -Werror
然后运行make bar
。
只要有一个名为 的文件bar.c
,make
就会为您构建它。
推荐阅读
- query-string - 我可以为禁用了 Gmail 的特定 Google 帐户建立直接 URL 吗?
- ios - InApp 购买产品价格
- ios - iOS 推送通知服务扩展包 ID
- php - 在 collectionOperations (GET) 上使用 Symfony 投票者
- javascript - 三星s10上localStorage的nodejs Web应用程序问题
- bash - Grep 命令在 shell 脚本中不返回任何内容
- ios - 从 DatePicker SwiftUI 更改选定的日期格式
- http - 处理“POST”请求的正文?
- css - 如何从固定位置父元素在节外制作固定位置子元素
- python - 在 SSIS 项目中安装 xmltodict