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

            亚洲精品乱码久久久久久按摩| 亚洲精品美女久久久久99| 国产精品日韩深夜福利久久| 国产午夜精品理论片久久| 亚洲色欲久久久久综合网| 久久久久亚洲av无码专区| 国产成人精品久久亚洲| 久久人人爽人人爽人人片AV不| 超级碰久久免费公开视频| 国产成人久久精品一区二区三区| 国产午夜福利精品久久2021 | 人妻无码精品久久亚瑟影视| 奇米综合四色77777久久| 精品久久久久久无码人妻热| 国产成年无码久久久免费| 国产999精品久久久久久| 嫩草伊人久久精品少妇AV| 久久久久久噜噜精品免费直播| 精品久久久噜噜噜久久久| 免费久久人人爽人人爽av| 99久久亚洲综合精品成人| 久久精品中文无码资源站| 人妻无码αv中文字幕久久琪琪布| 久久精品国产99久久久香蕉| 久久电影网一区| 久久精品人人做人人爽97| 久久久久久久精品妇女99| 午夜精品久久久久久| 亚洲精品无码久久久| 伊人色综合久久天天网| 四虎影视久久久免费观看| 久久se这里只有精品| 久久激情亚洲精品无码?V| 99精品久久久久久久婷婷| 狠色狠色狠狠色综合久久| 国产精品欧美久久久天天影视| 久久超碰97人人做人人爱| 国产精品久久久久影视不卡| 狠色狠色狠狠色综合久久 | 99久久夜色精品国产网站| 武侠古典久久婷婷狼人伊人|