乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      幾個好用的makefile 幾乎可以不用修改(轉(zhuǎn))

       ONLY_影 2015-01-13

      Makefile

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

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

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

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

             下面是三個 makefile 的源代碼:

       

             1 、生成可執(zhí)行文件的 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 文件,并將目標(biāo)定義為同名 .o 文件

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

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

       

      #target you can change test to what you want

      # 目標(biāo)文件名,輸入任意你想要的執(zhí)行文件名

      TARGET  := test

       

      #compile and lib parameter

      # 編譯參數(shù)

      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 、生成靜態(tài)鏈接庫的 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

      # 編譯參數(shù)

      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 文件,并將目標(biāo)定義為同名 .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 、生成動態(tài)鏈接庫的 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

      # 編譯參數(shù)

      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 文件,并將目標(biāo)定義為同名 .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)

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多