makefile 中的符号替换($@、$^、$<、$?)
2016-05-09 16:36
274 查看
Makefile $@, $^, $<
$@ 表示目标文件
$^ 表示所有的依赖文件
$< 表示第一个依赖文件
$? 表示比目标还要新的依赖文件列表
如一个目录下有如下文件:
按照 Makefile 的一般写法:
改为用上述符号进行替代:
$@ 表示目标文件
$^ 表示所有的依赖文件
$< 表示第一个依赖文件
$? 表示比目标还要新的依赖文件列表
如一个目录下有如下文件:
$ ls
hello.c hi.c main.c Makefile
hello.c hi.c main.c Makefile
按照 Makefile 的一般写法:
main: main.o hello.o hi.o
gcc -o main main.o hello.o hi.o
main.o: main.c
cc -c main.c
hello.o: hello.c
cc -c hello.c
hi.o: hi.c
cc -c hi.c
clean:
rm *.o
rm main
gcc -o main main.o hello.o hi.o
main.o: main.c
cc -c main.c
hello.o: hello.c
cc -c hello.c
hi.o: hi.c
cc -c hi.c
clean:
rm *.o
rm main
改为用上述符号进行替代:
main: main.o hello.o hi.o
gcc -o $@ $^
main.o: main.c
cc -c $<
hello.o: hello.c
cc -c $<
hi.o: hi.c
cc -c $<
clean:
rm *.o
rm main
gcc -o $@ $^
main.o: main.c
cc -c $<
hello.o: hello.c
cc -c $<
hi.o: hi.c
cc -c $<
clean:
rm *.o
rm main
beyes@debian:~/makefile_test/semicolon/real$ make
cc -c main.c
cc -c hello.c
cc -c hi.c
gcc -o main main.o hello.o hi.o
beyes@debian:~/makefile_test/semicolon/real$ ls
hello.c hello.o hi.c hi.o main main.c main.o Makefile
cc -c main.c
cc -c hello.c
cc -c hi.c
gcc -o main main.o hello.o hi.o
beyes@debian:~/makefile_test/semicolon/real$ ls
hello.c hello.o hi.c hi.o main main.c main.o Makefile
相关文章推荐
- redis和memcached在应用中的架构:水平拆分和垂直拆分
- 《我所理解的Cocos2d-x》PDF
- 使用exe4j制作java启动程序等候界面
- 函数式思维: 耦合和组合,第 2 部分
- 《VR入门系列教程》之22---GearVR SDK代码剖析
- String字符串面试
- python reverse()方法
- Dual Palindromes
- JavaScript 函数的执行过程
- 2016年5月Windows 10活跃用户达到3亿
- java 垃圾回收机制
- 重读java编程思想之向上转型一
- 详解spring事务属性(总结的很好)
- ibatis关键词
- 第十章 UINavigationController 翻译
- 使用命令行工具对LSI阵列卡进行高效管理
- 阿里dubbo框架使用系列:简介
- git使用(一)
- 【Android】16、体验活动的生命周期(上)
- 当缺失静态库出现duplicate