基本的なコマンドをメークファイル

メイク
    利点:
        プロジェクト全体の容易な管理
    1.make
        GCC - 特定の規則に従ってコードをコンパイルするコンパイラ
        メイク - ビルダーを運ぶのlinux
            メイクファイルでのルールのビルド    
    2.メイクファイルのファイル名
        - メイク
        - Makefileの
    ルール3.makefile
        ccの-oアプリBC gccの交流
            - 三つの部分:目標、依存関係、コマンド
                ターゲットアプリ    
                依存交流BCのCC
                ccの-oアプリBCコマンドgccの交流
 
                目標:依存性
                (タブインデント)コマンド
                アプリ:交流BCのCC
                    ccの-oアプリBC gccの交流
                
    書かれ4.makefile
    最初のバージョン
短所:    
非効率、ファイルを変更し、すべてのファイルがすべて再コンパイルされます
 
    第二版
    ワークス
        依存性は存在しません。
            ダウンサブルールを検索し、依存関係が探している生成、および規則の実施のためのルールが順番に存在する場合
        更新する必要があるかどうかを判断するために依存が存在、
            原理:目標時間>時間依存
                更新:逆に
    
        短所:冗長性
 
    3番目のバージョン
        - カスタム変数:  
            OBJ = AOのBOのコ(OBJ変数名、定義可能)
            OBJ = 10
            変数の値:AA = $(OBJ)
        -makefile自身の変数:大文字(すべて大文字形式)
            CPPFLAGS(指定されたヘッダファイル)
            CC                    
        - 自動変数
            目標ルール:@ $
            $ <:最初に依存ルール
            $ ^:ルールすべての依存関係
            自動変数は、ルールのコマンドで使用することができます
            
    パターン・マッチング:
    %の.o:%C
    まず:framwork.oなし
        main.o:main.cの
            gccの-c main.cの-o main.o
    第二:add.o
        add.o:add.c
            gccの-c add.c -o add.o
    短所:比較的貧しいポータビリティ
 
第四版
    * Makefileのすべての機能は、値を返します
    *指定されたディレクトリを検索し、ファイルの種類を指定します。
        SRC = $(ワイルドカード./*.c)   
    *試合を交換してください
        obj = $(patsubst %.c, %.o, $(src))
短所:プロジェクトをクリーンアップすることはできません
 
第五版
    レッツ・メイクは、究極の目標は、ターゲットを生成することではありません
        メイクターゲット名
 
    クリーンアッププロジェクトのルールを書きます
    掃除:
        RM * .oのアプリ
    
        -(符号) 作用:忽略执行失败的命令,让程序继续向下执行。
当前语句执行失败后, 继续向下执行
        - rm $(obj) $(out) -f
    
    声明伪目标        跳过判断环节,直接执行
        .PHONY: 生成的伪目标名
        .PHONY: clean
        -f 强制执行
        命令前加 -
            忽略执行失败的命令,继续执行
 
.PHONY: clean
clean:
    -rm -f $(obj) $(out)
 

 

 

おすすめ

転載: www.cnblogs.com/period/p/12152213.html
おすすめ