• <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 閱讀(469) 評論(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中更大的彈性。

            亚洲国产精品一区二区久久hs| 91久久九九无码成人网站| 国产成人精品综合久久久| 精品综合久久久久久97超人| 99久久99久久精品国产片果冻| 久久国产色AV免费看| 少妇被又大又粗又爽毛片久久黑人| 免费精品久久久久久中文字幕| 久久天天躁狠狠躁夜夜不卡 | 一本久久免费视频| 久久亚洲AV无码西西人体| 无码精品久久一区二区三区| 精品久久久无码21p发布| 久久久WWW免费人成精品| 无码人妻久久一区二区三区免费| 久久人人妻人人爽人人爽| 精品久久久久久国产三级| 久久精品男人影院| 久久久久99精品成人片欧美| 精品多毛少妇人妻AV免费久久| 久久久久久a亚洲欧洲aⅴ| 久久精品嫩草影院| 欧美午夜精品久久久久久浪潮| 狠狠色丁香婷综合久久| 99久久国产综合精品网成人影院| 久久久久久久尹人综合网亚洲 | 精品久久久久久无码专区不卡| 一本久久知道综合久久| AV狠狠色丁香婷婷综合久久 | 91精品国产高清久久久久久91| 久久精品人人做人人爽97| 久久99国产精品成人欧美| 一本一道久久a久久精品综合| 久久国产精品无码一区二区三区| 99国产欧美久久久精品蜜芽| 久久久久国产一区二区三区| 亚洲性久久久影院| AAA级久久久精品无码区| 午夜精品久久久久久久| 亚洲va久久久久| 久久综合久久综合九色|