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

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            幾個好用的makefile 幾乎可以不用修改

            Makefile

            ?????? makefile 來編譯工程,對很多朋友來說都是一件麻煩而痛苦的事情,這里我寫了幾個 makefile ,專門提供給那些曾經被 makefile 困擾的朋友,根據生成的目標文件不同,我將 makefile 分成了三份:生成可執行文件的 makefile ,生成靜態鏈接庫德 makefile ,生成動態鏈接庫的 makefile 。

            ?????? 這些 makefile 都很簡單,一般都是一看就會用,用法也很容易,只需要把它們拷貝到你的代碼的同一目錄下,然后就可以使用 make 來生成目標文件了。

            ?????? 是不是真的有這么神奇?呵呵,你自己用用就知道了。

            ?????? 當然,如果要用到什么庫文件,你還需要修改一些編譯參數,這個可以對照我轉載的另一篇文章《 GNU make 指南》。

            ?????? 下面是三個 makefile 的源代碼:

            ?

            ?????? 1 、生成可執行文件的 makefile

            ######################################

            #

            # Generic makefile

            #

            # by Coon Xu

            # email: coonxu@126.com

            #

            # Copyright (c) 2005 Coon Xu

            # All rights reserved.

            #?

            # No warranty, no liability;

            # you use this at your own risk.

            #

            # You are free to modify and

            # distribute this without giving

            # credit to the original author.

            #

            ######################################

            ?

            ?

            #source file

            # 源文件,自動找所有 .c .cpp 文件,并將目標定義為同名 .o 文件

            SOURCE? := $(wildcard *.c) $(wildcard *.cpp)

            OBJS??? := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

            ?

            #target you can change test to what you want

            # 目標文件名,輸入任意你想要的執行文件名

            TARGET? := test

            ?

            #compile and lib parameter

            # 編譯參數

            CC????? := gcc

            LIBS??? :=

            LDFLAGS:=?

            DEFINES:=

            INCLUDE:= -I.

            CFLAGS? := -g -Wall -O3 $(DEFINES) $(INCLUDE)

            CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H

            ?

            ?

            #i think you should do anything here

            # 下面的基本上不需要做任何改動了

            .PHONY : everything objs clean veryclean rebuild

            ?

            everything : $(TARGET)

            ?

            all : $(TARGET)

            ?

            objs : $(OBJS)

            ?

            rebuild: veryclean everything

            ???????????????

            clean :

            ??? rm -fr *.so

            ??? rm -fr *.o

            ???

            veryclean : clean

            ??? rm -fr $(TARGET)

            ?

            $(TARGET) : $(OBJS)?

            ??? $(CC) $(CXXFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

            ?

            ?????? 2 、生成靜態鏈接庫的 makefile

            ######################################

            #

            # Generic Static Library makefile

            #

            # by Coon Xu

            # email: coonxu@126.com

            #

            # Copyright (c) 2005 Coon Xu

            # All rights reserved.

            #?

            # No warranty, no liability;

            # you use this at your own risk.

            #

            # You are free to modify and

            # distribute this without giving

            # credit to the original author.

            #

            ######################################

            ?

            #target you can change test to what you want

            # 共享庫文件名, lib*.a

            TARGET? := libtest.a

            ?

            #compile and lib parameter

            # 編譯參數

            CC????? := gcc

            AR????? = ar

            RANLIB? = ranlib

            LIBS??? :=

            LDFLAGS:=?

            DEFINES:=

            INCLUDE:= -I.

            CFLAGS? := -g -Wall -O3 $(DEFINES) $(INCLUDE)

            CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H

            ?

            #i think you should do anything here

            # 下面的基本上不需要做任何改動了

            ?

            #source file

            # 源文件,自動找所有 .c .cpp 文件,并將目標定義為同名 .o 文件

            SOURCE? := $(wildcard *.c) $(wildcard *.cpp)

            OBJS??? := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

            ?

            .PHONY : everything objs clean veryclean rebuild

            ?

            everything : $(TARGET)

            ?

            all : $(TARGET)

            ?

            objs : $(OBJS)

            ?

            rebuild: veryclean everything

            ???????????????

            clean :

            ??? rm -fr *.o

            ???

            veryclean : clean

            ??? rm -fr $(TARGET)

            ?

            $(TARGET) : $(OBJS)?

            ??? $(AR) cru $(TARGET) $(OBJS)

            ??? $(RANLIB) $(TARGET)

            ?

            ?????? 3 、生成動態鏈接庫的 makefile

            ######################################

            #

            # Generic Share Library makefile

            #

            # by Coon Xu

            # email: coonxu@126.com

            #

            # Copyright (c) 2005 Coon Xu

            # All rights reserved.

            #?

            # No warranty, no liability;

            # you use this at your own risk.

            #

            # You are free to modify and

            # distribute this without giving

            # credit to the original author.

            #

            ######################################

            ?

            #target you can change test to what you want

            # 共享庫文件名, lib*.so

            TARGET? := libtest.so

            ?

            #compile and lib parameter

            # 編譯參數

            CC????? := gcc

            LIBS??? :=

            LDFLAGS:=?

            DEFINES:=

            INCLUDE:= -I.

            CFLAGS? := -g -Wall -O3 $(DEFINES) $(INCLUDE)

            CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H

            SHARE?? := -fPIC -shared -o

            ?

            #i think you should do anything here

            # 下面的基本上不需要做任何改動了

            ?

            #source file

            # 源文件,自動找所有 .c .cpp 文件,并將目標定義為同名 .o 文件

            SOURCE? := $(wildcard *.c) $(wildcard *.cpp)

            OBJS??? := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

            ?

            .PHONY : everything objs clean veryclean rebuild

            ?

            everything : $(TARGET)

            ?

            all : $(TARGET)

            ?

            objs : $(OBJS)

            ?

            rebuild: veryclean everything

            ???????????????

            clean :

            ??? rm -fr *.o

            ???

            veryclean : clean

            ??? rm -fr $(TARGET)

            ?

            $(TARGET) : $(OBJS)?

            ??? $(CC) $(CXXFLAGS) $(SHARE) $@ $(OBJS) $(LDFLAGS) $(LIBS)

            posted on 2007-02-08 15:34 楊粼波 閱讀(831) 評論(0)  編輯 收藏 引用

            一级做a爰片久久毛片人呢| 久久最新精品国产| 精品久久久久久中文字幕大豆网| 狠狠色丁香久久婷婷综合蜜芽五月 | 热综合一本伊人久久精品| 久久精品国产亚洲7777| 亚洲精品乱码久久久久久蜜桃不卡| 久久久久人妻精品一区二区三区| 国产精品18久久久久久vr | 97久久久久人妻精品专区| 久久精品国产一区二区三区不卡| 18岁日韩内射颜射午夜久久成人 | 亚洲国产成人久久一区WWW| 国内精品伊人久久久久AV影院| 97久久精品人人澡人人爽| 亚洲香蕉网久久综合影视| 中文字幕久久欲求不满| 久久久久av无码免费网| 久久久99精品一区二区| 国产精品久久久久久久久鸭| 久久天天躁狠狠躁夜夜2020一| 精品多毛少妇人妻AV免费久久| 亚洲中文字幕久久精品无码APP| 久久久91人妻无码精品蜜桃HD| AAA级久久久精品无码片| 久久久久女人精品毛片| 国产偷久久久精品专区| 人妻精品久久久久中文字幕| 久久精品国产精品国产精品污| 亚洲国产美女精品久久久久∴| 久久婷婷国产剧情内射白浆| 久久青青草原精品国产软件| 久久久久久久久久免免费精品 | 丰满少妇人妻久久久久久| 久久人人爽人人爽人人片AV不| 亚洲精品国产第一综合99久久 | 久久不见久久见免费影院www日本| 狠狠色丁香婷综合久久| 久久九九全国免费| 91麻精品国产91久久久久| 国产精品亚洲综合专区片高清久久久|