博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
makefile $@, $^, $<, $?
阅读量:4455 次
发布时间:2019-06-07

本文共 731 字,大约阅读时间需要 2 分钟。

http://www.cnblogs.com/gamesun/p/3323155.html

$@  表示目标文件

$^  表示所有的依赖文件
$<  表示第一个依赖文件
$?  表示比目标还要新的依赖文件列表

如一个目录下有如下文件:

$ lshello.c  hi.c  main.c  Makefile

按照 Makefile 规则规规矩矩的写:

main: main.o hello.o hi.o        gcc -o main main.o hello.o hi.omain.o: main.c        cc -c main.chello.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 $

 

再如:

# 这是上面那个程序的Makefile文件

main:main.o mytool1.o mytool2.o
gcc -o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
gcc -c main.c
mytool1.o:mytool1.c mytool1.h
gcc -c mytool1.c
mytool2.o:mytool2.c mytool2.h
gcc -c mytool2.c

转载于:https://www.cnblogs.com/LiuYanYGZ/p/5440008.html

你可能感兴趣的文章
子序列的按位或 Bitwise ORs of Subarrays
查看>>
IN语句改写EXISTS
查看>>
C#-WinForm-用户控件如何获取父级窗体
查看>>
STL_vector
查看>>
Dev中GridView——背景颜色改变
查看>>
socket编程2
查看>>
web开发中的MVC框架与django框架的MTV模式
查看>>
django添加导包路径
查看>>
java基础知识—变量、数据类型和运算符
查看>>
hadoop队列管理(指定queue跑程序)
查看>>
Lucene 自动补全
查看>>
hibernate建表默认为UTF-8编码
查看>>
as3+php上传图片的三种方式
查看>>
jquery实现奇偶行赋值不同css值
查看>>
关于Git
查看>>
css基于文件格式使用不同的样式
查看>>
QTP自传之对象
查看>>
从Windows Phone 8 Developer Docs整理的关于XNA记录(Preview)
查看>>
14 协程:微线程
查看>>
Linux常用命令
查看>>