zoukankan      html  css  js  c++  java
  • 嵌入式培训学习历程第十八天

                  makefile

      1. 想要了解一个项目的流程,,第一步 ,,看makefile文件。

      2.makefile 本质 : 用来管理工程文件的工具

        指令 make

        好处 : 提高工作效率,减少出错概率

        基本规则 :三部分组成  

                  目标 :依赖

                  (tab)命令(只有一个Tab)

      3.文件名只有makefile和Makefile两种,如果不是这两种,需要使用 make -f 文件名  进行调用

      4. 工作原则 :

            检查规则中的依赖条件是否存在

            检查该规则中的目标是否需要更新

      5.echo $? 查看上次程序退出的返回值

       echo $ PATH

      6.重要  一种规则  两种函数  三个变量

        三个自动变量 :

            $@ : 表示规则当中的目标。(在命令中)

            $< : 表示规则中的第一个条件(在命令中)

            $^ : 表示规则中的所有条件,组成一个列表,用空格隔开

         扩展:$? :表示规则中所有比目标文件新的文件,组成一个列表, 用空格隔开

        两个函数:

            src = $(wildcard *.c)

                将当前目录中的所有以.c结尾的文件展开成src的内容

            obj = $(patsubst %.c, %.o, $(src))

                将src变量中.c结尾的文件替换为.o结尾的文件

        一个规则 :

            模式规则 : 

                %.o : %.c

                  $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

                注意 :只有写成模式规则的时候, $< 表示依赖条件依次取出

      7. 注释使用“#”

      8.foo = abc

        bar = &(foo)

        向变量定义使用’=‘

        变量值得使用$(变量名)

      扩展 : all : 执行主要的编译工作

            Project
    src (源文件) obj(目标文件) include(头文件) media(媒体文件) lib(库文件) makefile

        英语: target(目标)  multiple(多种)  definition(定义)

  • 相关阅读:
    leetcode 279. Perfect Squares
    leetcode 546. Remove Boxes
    leetcode 312. Burst Balloons
    leetcode 160. Intersection of Two Linked Lists
    leetcode 55. Jump Game
    剑指offer 滑动窗口的最大值
    剑指offer 剪绳子
    剑指offer 字符流中第一个不重复的字符
    leetcode 673. Number of Longest Increasing Subsequence
    leetcode 75. Sort Colors (荷兰三色旗问题)
  • 原文地址:https://www.cnblogs.com/cxw825873709/p/3249087.html
Copyright © 2011-2022 走看看