• <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>
            四、環境變量 MAKEFILES 

            如果你的當前環境中定義了環境變量MAKEFILES,那么,make會把這個變量中的值做一個類似于include的動作。這個變量中的值是其它的Makefile,用空格分隔。只是,它和include不同的是,從這個環境變中引入的Makefile的“目標”不會起作用,如果環境變量中定義的文件發現錯誤,make也會不理。

            但是在這里我還是建議不要使用這個環境變量,因為只要這個變量一被定義,那么當你使用make時,所有的Makefile都會受到它的影響,這絕不是你想看到的。在這里提這個事,只是為了告訴大家,也許有時候你的Makefile出現了怪事,那么你可以看看當前環境中有沒有定義這個變量。


            五、make的工作方式

            GNU的make工作時的執行步驟入下:(想來其它的make也是類似)

                1、讀入所有的Makefile。
                2、讀入被include的其它Makefile。
                3、初始化文件中的變量。
                4、推導隱晦規則,并分析所有規則。
                5、為所有的目標文件創建依賴關系鏈。
                6、根據依賴關系,決定哪些目標要重新生成。
                7、執行生成命令。

            1-5步為第一個階段,6-7為第二個階段。第一個階段中,如果定義的變量被使用了,那么,make會把其展開在使用的位置。但make并不會完全馬上展開,make使用的是拖延戰術,如果變量出現在依賴關系的規則中,那么僅當這條依賴被決定要使用了,變量才會在其內部展開。

            當然,這個工作方式你不一定要清楚,但是知道這個方式你也會對make更為熟悉。有了這個基礎,后續部分也就容易看懂了。
            Posted on 2007-04-17 10:56 艾凡赫 閱讀(2341) 評論(0)  編輯 收藏 引用 所屬分類: C++
            少妇人妻综合久久中文字幕| 久久综合久久综合九色| 99久久香蕉国产线看观香| 香蕉久久久久久狠狠色| 国产精品18久久久久久vr| 久久精品18| 婷婷久久香蕉五月综合加勒比| 青青青青久久精品国产h| 麻豆精品久久久久久久99蜜桃| 精品久久无码中文字幕| 麻豆av久久av盛宴av| 精品久久久久国产免费| 国产精品99久久免费观看| 久久亚洲AV无码精品色午夜 | 亚洲午夜久久久久久久久久| 国产亚州精品女人久久久久久 | 日韩美女18网站久久精品| 国产亚洲美女精品久久久久狼| 久久久久久久国产免费看| 青青草国产成人久久91网| 久久亚洲国产成人精品性色| 亚洲Av无码国产情品久久| 国产日韩欧美久久| 久久精品九九亚洲精品天堂| 久久久久无码精品国产| 一本色道久久HEZYO无码| 久久无码高潮喷水| 99久久香蕉国产线看观香| 亚洲国产精品成人AV无码久久综合影院| 91精品免费久久久久久久久| 99久久99久久精品国产片果冻| 99久久超碰中文字幕伊人| 久久99精品国产自在现线小黄鸭| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 7777精品伊人久久久大香线蕉| 久久久99精品成人片中文字幕| 国产毛片久久久久久国产毛片| 国产综合免费精品久久久| 欧美日韩精品久久久免费观看| 久久精品亚洲欧美日韩久久| 亚洲精品高清一二区久久|