• <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 楊粼波 閱讀(833) 評論(0)  編輯 收藏 引用

            久久精品毛片免费观看| 久久人人爽人人爽人人片AV东京热| 国内高清久久久久久| 久久天堂电影网| 精品久久人人爽天天玩人人妻| 国产美女久久久| 久久精品青青草原伊人| 久久精品亚洲精品国产欧美| 久久天天躁狠狠躁夜夜躁2O2O| 久久久久亚洲AV无码专区网站| 99久久精品影院老鸭窝| 欧美日韩久久中文字幕| 久久亚洲中文字幕精品一区| 久久久久久狠狠丁香| 亚洲av日韩精品久久久久久a| 亚洲日本va午夜中文字幕久久 | 亚洲伊人久久成综合人影院 | 亚洲伊人久久精品影院| 久久无码AV中文出轨人妻| 国产精品久久久久9999高清| 欧美亚洲色综久久精品国产| 久久久黄色大片| 久久经典免费视频| 久久久久久久久久久免费精品| 久久久九九有精品国产| 久久综合久久久| 91精品无码久久久久久五月天| 色综合久久综精品| 国产女人aaa级久久久级| 91性高湖久久久久| 精品水蜜桃久久久久久久| 久久精品无码一区二区日韩AV| 久久青青国产| 久久久久免费精品国产| 亚洲综合伊人久久大杳蕉| 奇米综合四色77777久久| AV无码久久久久不卡蜜桃| 国产精品99久久精品爆乳| 久久国产精品免费一区二区三区| 久久久久久av无码免费看大片| 伊人久久大香线蕉精品不卡 |