• <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中更大的彈性。

            久久无码一区二区三区少妇 | 久久久久久久久久免免费精品| 91精品国产乱码久久久久久| 狠色狠色狠狠色综合久久| 国産精品久久久久久久| 国内精品九九久久精品| 久久99精品综合国产首页| 欧美激情精品久久久久久| 精品久久久久久国产潘金莲| 久久国产一片免费观看| 久久久久久久97| 超级碰碰碰碰97久久久久| 久久亚洲国产午夜精品理论片| 久久精品国产男包| 国产福利电影一区二区三区,免费久久久久久久精 | 麻豆亚洲AV永久无码精品久久| 很黄很污的网站久久mimi色| 久久久久亚洲AV成人片| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 久久中文字幕人妻丝袜| 久久国产精品免费一区| 久久91精品国产91久久麻豆| 日产精品久久久一区二区| 久久精品中文字幕第23页| 久久精品国产亚洲一区二区| 午夜精品久久久久久毛片| 一本大道久久香蕉成人网| 久久久精品人妻无码专区不卡| 97超级碰碰碰久久久久| 久久超碰97人人做人人爱| 伊人久久成人成综合网222| 国产成人精品久久亚洲高清不卡 | 久久国产精品成人片免费| 亚洲色婷婷综合久久| 国产69精品久久久久久人妻精品| 深夜久久AAAAA级毛片免费看| 精品久久久久久无码人妻热 | 久久精品亚洲日本波多野结衣| 伊人久久大香线蕉亚洲| 亚洲精品乱码久久久久久蜜桃不卡| 国产激情久久久久久熟女老人|