• makefile


      小结

            make -C make_test2/  执行某个目录下的Makefile  

     

             -I dir指定被包含的Makefile所在目录 ,引用某些文件的目录,例如说是 CFLAGS=-c -Wall -I include ,表示引用的引用了这个文件里面的include里面的文件

              make -f Makefile_release   -f 如果没有Makefile ,可以用其他名字来使用,代表这2个。

        make -i   ,可以忽视make中遇到的错误。如果一个项目编译的时间特变长,可以先这样子编译,如果中间有问题,也可以继续编译,然后将 有问题的 重新合成即可。

             make -n ,只是看一看执行的那些命令,但是不去执行他。

             make -p 显示make变量数据库和隐含规则

             make -s 在执行命令的时候不显示命令

    vsp.config.mk ---开启另外一个窗口了

     复制代码 ,2,4 y 进行复制

    include config.mk 在另外一个文件里面加上这个。--开发板的一些可配置信息可以放到这里面做,不用再去修改了。

            

    Makefile的隐含规则

     只需要写目标文件和先决条件即可。但是如果需要的话,就添加 注意要写 CFLAGS=-c -Wall -I include

    默认为

    “$(CC) –c $(CPPFLAGS) $(CFLAGS)” 可以直接写的

     

    甚至可以更简单的依赖都不用下的

    继续隐含文件2看只需要 连接的文件等于他即可。

    隐含规则2:链接Object文件的隐含规则
    “<n>” 目标依赖于“<n>.o”,通过运行C的编译器来运行链接程序生成(一般是“ld”),其生成命令是:“$(CC) $(LDFLAGS) <n>.o $(LOADLIBES) $(LDLIBS)”。这个规则对于只有一个源文件的工程有效,同时也对多个Object文件(由不同的源文件生成)的也有效。例如如下规则:
    x : x.o y.o z.o
    并且“x.c”、“y.c”和“z.c”都存在时,隐含规则将执行如下命令:
    cc -c x.c -o x.o
    cc -c y.c -o y.o
    cc -c z.c -o z.o
    cc x.o y.o z.o -o x
    如果没有一个源文件(如上例中的x.c)和你的目标名字(如上例中的x)相关联,那么,你最好写出自己的生成规则,不然,隐含规则会报错的。

    最简单的写法,不过这个目标文件,只可以是这3个其中的1个。不然就需要重新写了。

    当然也可以改成如下

      

      

  • 相关阅读:
    组装query,query汇总,query字段
    POJ 1276, Cash Machine
    POJ 1129, Channel Allocation
    POJ 2531, Network Saboteur
    POJ 1837, Balance
    POJ 3278, Catch That Cow
    POJ 2676, Sudoku
    POJ 3126, Prime Path
    POJ 3414, Pots
    POJ 1426, Find The Multiple
  • 原文地址:https://www.cnblogs.com/jack-hzm/p/10092450.html
Copyright © 2020-2023  润新知