38、开发工具与C源代码编译入门

开发工具与C源代码编译入门

1. GNU make的特性与跨平台问题

GNU make具有很多其他变体所没有的扩展、内置规则和特性。在Linux系统上使用这些特性没问题,但如果在Solaris或BSD机器上期望同样的功能能正常工作,可能会遇到意外情况。不过,像GNU autotools这样的多平台构建系统可以解决这个问题。

2. Makefile的常规目标

大多数Makefile包含几个执行与编译相关辅助任务的标准目标,具体如下:
| 目标名称 | 作用 | 示例 |
| ---- | ---- | ---- |
| clean | 通常用于指示make删除所有目标文件和可执行文件,以便重新开始编译或打包软件 | make clean
clean: rm -f $(OBJS) myprog |
| distclean | 由GNU autotools系统生成的Makefile通常有此目标,用于删除所有非原始发行版的内容,包括Makefile本身 | - |
| install | 将文件和编译好的程序复制到Makefile认为系统上合适的位置。此操作有风险,建议先运行 make -n install 查看操作内容而不实际执行命令 | - |
| test或check | 一些开发者提供此目标,用于确保编译后一切正常 | - |
| depend | 通过使用编译器的 -M 选项检查源代码来创建依赖关系。这个目标比较特殊,因为它经常会修改Makefile本身,现在这种做法不太常见了 | - |
| a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值