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

            亚洲精品国产字幕久久不卡| 国产精品久久久久9999高清| 久久免费国产精品| 久久99国产精品久久99小说| 久久精品无码专区免费青青| 久久久99精品成人片中文字幕 | 日韩欧美亚洲综合久久影院Ds | 久久se精品一区精品二区国产| 欧美麻豆久久久久久中文| 久久精品蜜芽亚洲国产AV| 久久有码中文字幕| 精品午夜久久福利大片| 99久久做夜夜爱天天做精品| 国产精品无码久久久久| 久久精品黄AA片一区二区三区| 亚洲欧美成人久久综合中文网| 久久精品国产99国产精偷 | 人妻丰满AV无码久久不卡| 人妻少妇精品久久| 国内精品欧美久久精品| 国产精品久久久久影院色| 亚洲午夜久久久| 思思久久99热免费精品6| 久久成人18免费网站| 亚洲国产成人久久综合碰碰动漫3d| 亚洲色欲久久久综合网| 亚洲色欲久久久久综合网| 久久久久无码精品| 久久久久久极精品久久久| 激情五月综合综合久久69| 91精品久久久久久无码| 久久精品国产免费| 国产精品99久久久久久猫咪| 久久精品国产亚洲网站| 99久久精品免费看国产一区二区三区 | 久久久久九九精品影院| 亚洲综合精品香蕉久久网97| 国产精品久久成人影院| 国内精品久久国产大陆| 88久久精品无码一区二区毛片 | 久久亚洲高清综合|