• <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>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            自動化變量

            Posted on 2009-08-24 23:47 Prayer 閱讀(466) 評論(0)  編輯 收藏 引用 所屬分類: makefile
            看一個例子:

                objects = foo.o bar.o

                all: $(objects)

                $(objects): %.o: %.c
                        $(CC) -c $(CFLAGS) $< -o $@


            上面的例子中,指明了我們的目標從$object中獲取,“%.o”表明要所有以“.o”結尾的目標,也就是“foo.o bar.o”,也就是變量$object集合的模式,而依賴模式“%.c”則取模式“%.o”的“%”,也就是“foo bar”,并為其加下“.c”的后綴,于是,我們的依賴目標就是“foo.c bar.c”。而命令中的“$<”和“$@”則是自動化變量,“$<”表示所有的依賴目標集(也就是“foo.c bar.c”),“$@”表示目標集(也就是“foo.o bar.o”)。于是,上面的規則展開后等價于下面的規則:

                foo.o : foo.c
                        $(CC) -c $(CFLAGS) foo.c -o foo.o
                bar.o : bar.c
                        $(CC) -c $(CFLAGS) bar.c -o bar.o

            試想,如果我們的“%.o”有幾百個,那種我們只要用這種很簡單的“靜態模式規則”就可以寫完一堆規則,實在是太有效率了。“靜態模式規則”的用法很靈活,如果用得好,那會一個很強大的功能。再看一個例子:


                files = foo.elc bar.o lose.o

                $(filter %.o,$(files)): %.o: %.c
                        $(CC) -c $(CFLAGS) $< -o $@
                $(filter %.elc,$(files)): %.elc: %.el
                        emacs -f batch-byte-compile $<


            $(filter %.o,$(files))表示調用Makefile的filter函數,過濾“$filter”集,只要其中模式為“%.o”的內容。其的它內容,我就不用多說了吧。這個例字展示了Makefile中更大的彈性。

            久久国产成人午夜aⅴ影院| 久久人人超碰精品CAOPOREN | 亚洲日韩欧美一区久久久久我| 久久精品中文字幕无码绿巨人| 国产成人综合久久精品尤物| 亚洲av伊人久久综合密臀性色| 久久久久国产精品人妻| 久久久久av无码免费网| 亚洲色欲久久久综合网东京热| 久久亚洲国产精品成人AV秋霞 | 久久久人妻精品无码一区| 99久久国产综合精品五月天喷水 | 日产精品久久久久久久| 久久笫一福利免费导航 | 中文字幕精品久久久久人妻| 怡红院日本一道日本久久| 亚洲国产成人久久精品动漫| 国产亚洲色婷婷久久99精品91| 久久天天躁狠狠躁夜夜2020| 久久青青草视频| 韩国免费A级毛片久久| 麻豆精品久久精品色综合| 精品久久久无码中文字幕| 亚洲综合久久久| 99久久中文字幕| 香蕉久久影院| 国产成人久久AV免费| 久久久久人妻精品一区三寸蜜桃| 亚洲一级Av无码毛片久久精品| 天天爽天天狠久久久综合麻豆| 久久精品国产99国产精偷 | 久久香蕉综合色一综合色88| 国产一区二区三精品久久久无广告| 一级a性色生活片久久无| 久久99亚洲网美利坚合众国| 久久www免费人成精品香蕉| 人妻久久久一区二区三区| 精品无码人妻久久久久久| 热re99久久精品国99热| 久久久综合香蕉尹人综合网| 69SEX久久精品国产麻豆|