• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            五、讓make自動推導

            GNU的make很強大,它可以自動推導文件以及文件依賴關系后面的命令,于是我們就沒必要去在每一個[.o]文件后都寫上類似的命令,因為,我們的make會自動識別,并自己推導命令。

            只要make看到一個[.o]文件,它就會自動的把[.c]文件加在依賴關系中,如果make找到一個whatever.o,那么whatever.c,就會是whatever.o的依賴文件。并且 cc -c whatever.c 也會被推導出來,于是,我們的makefile再也不用寫得這么復雜。我們的是新的makefile又出爐了。


                objects = main.o kbd.o command.o display.o \
                          insert.o search.o files.o utils.o

                edit : $(objects)
                        cc -o edit $(objects)

                main.o : defs.h
                kbd.o : defs.h command.h
                command.o : defs.h command.h
                display.o : defs.h buffer.h
                insert.o : defs.h buffer.h
                search.o : defs.h buffer.h
                files.o : defs.h buffer.h command.h
                utils.o : defs.h

                .PHONY : clean
                clean :
                        rm edit $(objects)

            這種方法,也就是make的“隱晦規則”。上面文件內容中,“.PHONY”表示,clean是個偽目標文件。

            關于更為詳細的“隱晦規則”和“偽目標文件”,我會在后續給你一一道來。
            Posted on 2007-04-17 10:50 艾凡赫 閱讀(1257) 評論(0)  編輯 收藏 引用 所屬分類: C++
            国内精品久久久久久久影视麻豆 | 亚洲精品tv久久久久久久久久| 四虎国产精品免费久久久 | 亚洲天堂久久久| 午夜精品久久久久久中宇| 国产精品久久久久AV福利动漫| 伊人久久精品线影院| 中文字幕精品无码久久久久久3D日动漫 | 国产精品毛片久久久久久久| 精品熟女少妇aⅴ免费久久| 色偷偷久久一区二区三区| 久久久久久久久久免免费精品| 精产国品久久一二三产区区别| 久久夜色精品国产亚洲| 97香蕉久久夜色精品国产 | 偷窥少妇久久久久久久久| 久久综合欧美成人| 无码国内精品久久人妻蜜桃| 久久久精品日本一区二区三区 | 狠狠干狠狠久久| 人妻精品久久无码区| 国产精品久久久久久五月尺| 一本久久久久久久| 7777久久亚洲中文字幕| 亚洲国产精品无码久久久秋霞2| 久久夜色精品国产| 久久人人爽人人爽AV片| 婷婷久久综合九色综合98| 99精品久久精品| 久久久久久亚洲精品成人| 亚洲中文字幕无码久久精品1| 久久久久免费视频| 久久久无码精品亚洲日韩软件| 韩国三级中文字幕hd久久精品| 久久精品国产精品青草| 草草久久久无码国产专区| 免费观看成人久久网免费观看| 国产精品久久久久久| 国产三级精品久久| 尹人香蕉久久99天天拍| 久久99久国产麻精品66|