target: components ls

TAB rule

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 -I.

mytool1.o:mytool1.c mytool1.h

gcc -c mytool1.c -I.

mytool2.o:mytool2.c mytool2.h

gcc -c mytool2.c -I.

 

$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件.

mkf:mkf.o mytool1.o mytool2.o
        gcc -o $@ $^
mkf.o:mkf.c mytool1.h mytool2.h
        gcc -c $< -I.
mytool1.o:mytool1.c mytool1.h
        gcc -c $< -I.
mytool2.o:mytool2.c mytool2.h
        gcc -c $< -I.
 

这个规则表示所有的 .o文件都是依赖与其相应的.c文件的.例如mytool.o依赖于mytool.c

main:main.o mytool1.o mytool2.o

gcc -o $@ $^

.c.o:

gcc -c $< -I.;

CC 表示我们的编译器名称,缺省值为cc.

CFLAGS 表示我们想给编译器的编译选项

LDLIBS 表示我们的在编译的时候编译器的连接库选项.(我们的这个程序中还用不到这个

选项)

o

CC=gcc

CFLAGS=-g -Wall -O2 -I.

main:main.o mytool1.o mytool2.o

.c.o:

Make Rules的更多相关文章

  1. [Android]使用自定义JUnit Rules、annotations和Resources进行单元测试(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5795091.html 使用自定义JUnit Rules.ann ...

  2. Favorites of top 10 rules for success

    Dec. 31, 2015 Stayed up to last minute of 2015, 12:00am, watching a few of videos about top 10 rules ...

  3. Yii rules常用规则

    public function rules() {     return array(         //必须填写         array('email, username, password, ...

  4. 【Spring RCP】 RULES规则

    Rich Client 约束规则 1.Constraint 定义了一个约束接口,接口中只有1个方法 public boolean test(Object argument); //这个方法指对约束的检 ...

  5. The Nine Indispensable Rules for HW/SW Debugging 软硬件调试之9条军规

    I read this book in the weekend, and decided to put the book on my nightstand. It's a short and funn ...

  6. Table-3个属性的高级用法(colgroup和 frame和rules)

    之前我用表格的时候基本是caption.thead.tfoot.tbody.tr.th/td,以为是很完整的表格了,原来发现还有colgroup这东东,确实比直接在td里面colspan好用,另外ta ...

  7. YII rules常见规则

    public function rules() {     return array(         //必须填写         array('email, username, password, ...

  8. gcc警告: warning: dereferencing type-punned pointer will break strict-aliasing rules

    Q: 在高优化级别下,不同类型指针之间的强制类型转换可能会触发以下警告: warning: dereferencing type-punned pointer will break strict-al ...

  9. Yii CModel中rules验证 获取错误信息

    在model中定义 public function rules(){ return array( array('Name,Email','required'), array('Email','uniq ...

  10. Yii CModel中rules验证规则[转]

    array( array(‘username’, ‘required’), array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12), array( ...

随机推荐

  1. 【翻译】Kinect v2程序设计(C++) Depth编

    Kinect SDK v2预览版,取得Depth数据的方法说明. 上一节,介绍了通过使用Kinect for Windows SDK v2预览版(以下简称为,Kinect SDK v2预览版)从Kin ...

  2. treeview子节点文本过长超过DIV自动换行CSS解决

    //文本不换行 .ygtvcell.ygtvcontent{ white-space: nowrap; } //文本超过div出现滚动条 .main .buttom .right{ overflow- ...

  3. node socket onmessage

    <script src="//cdn.sockjs.org/sockjs-0.3.min.js"></script> <script> var ...

  4. Python之if语句

    计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if age >= 18: ...

  5. hibernate manytoone中的lazy EAGER

    Hibernate中的字段映射中的Fetch有两种方式:EAGER和LAZY Eager:全部抓取 Lazy:延迟抓取 如果在字段中声明为Eager,那么在取得当前Bean时,同时会抓取Bean中的关 ...

  6. Redis-秒杀场景应用

    Redis Util实现 package test.jedis; import java.util.List; import java.util.Set; import redis.clients.j ...

  7. 关于pom.xml的一些问题的理解

    最近在pom上出了一些问题,搞了一天才理解了一些问题,记录一下. 当在覆盖本地repository包之后,pom.xml上面出现了一个x. 当mvn->update project之后,还是有许 ...

  8. 利用select函数的定时返回功能在Windows上实现微秒级的cpu休眠

    说明:在调用该函数前要先调用WSAStartup初始化Winsock void uSleep(uint32_t usec) { struct timeval timeout; fd_set fds; ...

  9. php--yii2框架错误提示

    if($code!=200){ $user=new UserAuth(); $user->mobile=$register['mobile']; $user->password=md5($ ...

  10. java对象中继承和变量初始化顺序浅析

    先上例子代码 public class F { int age = 5; public F() { print(); } public void print() { System.out.printl ...