Linux中makefile項目管理

一、makefile的編寫:一個規則   兩個函數  三個變量
1. 一個規則
        三要素: 目標, 依賴, 命令
        目標:依賴
            命令
        1) 第一條規則是用來生成終極目標的規則
                1>. 如果規則中的依賴不存在, 向下尋找其他的規則,
                2>. 更新機制: 比較的是目標文件和依賴文件的時間        
2. 兩個函數
        1) 查找指定目錄下, 指定類型的文件
                src=$(wildcard ~/aa/*.c)
        2)匹配替換函數
                obj=$(patsubst %.c, %.o, $(src))
3. 三個自動變量
        1)$<: 規則中的第一個依賴
        2) $^: 規則中的所有依賴
        3)$@: 規則中的目標
        只能在規則中的命令中使用
4. 模式規則
        %.o:%.c
            gcc -c $< -o $@

 


                子目標和終極目標的關係:
                更新目標的原則:

3、makefile中變量的使用

      例如:

      app:main.o sub.o mul.o
          gcc main.o sub.o mul.o -o app
          gcc $^ -o $@
        
      %.o:%.c 
          gcc -c $< -o $@

      makefile中的自動變量
      $<: 規則中的第一個依賴
      $@: 規則中的目標
      $^: 規則中的所有依賴
      只能在規則的命令中使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章