zoukankan      html  css  js  c++  java
  • linux: 几个常用makefile模板(动态库、静态库、可执行程序)

    1、编译动态库

        #############################################################   
        # Makefile for shared library.  
        # 编译动态链接库  
        #############################################################  
        #set your own environment option  
        CC = g++  
        CC_FLAG = -D_NOMNG -D_FILELINE  
          
        #set your inc and lib  
        INC =   
        LIB = -lpthread -L./ -lsvrtool  
          
        #make target lib and relevant obj   
        PRG = libsvrtool.so  
        OBJ = Log.o  
          
        #all target  
        all:$(PRG)  
          
        $(PRG):$(OBJ)  
            $(CC) -shared -o $@ $(OBJ) $(LIB)  
          
        .SUFFIXES: .c .o .cpp  
        .cpp.o:  
            $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o  
          
        .PRONY:clean  
        clean:  
            @echo "Removing linked and compiled files......;  
            rm -f $(OBJ) $(PRG)  
    View Code

    2、编译静态库

        #############################################################  
        # Makefile for static library.  
        # 编译静态链接库  
        #############################################################  
        #set your own environment option  
        CC = g++  
        CC_FLAG = -D_NOMNG -D_FILELINE  
          
        #static library use 'ar' command   
        AR = ar  
          
        #set your inc and lib  
        INC =   
        LIB = -lpthread -L./ -lsvrtool  
          
        #make target lib and relevant obj   
        PRG = libsvrtool.a  
        OBJ = Log.o  
          
        #all target  
        all:$(PRG)  
        $(PRG):$(OBJ)  
            ${AR} rv ${PRG} $?  
          
        .SUFFIXES: .c .o .cpp  
        .cpp.o:  
            $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o  
          
        .PRONY:clean  
        clean:  
            @echo "Removing linked and compiled files......"  
            rm -f $(OBJ) $(PRG)  
    View Code

    3、可执行程序

        ###########################################  
        #Makefile for simple programs  
        ###########################################  
        INC=  
        LIB= -lpthread  
          
        CC=CC  
        CC_FLAG=-Wall  
          
        PRG=threadpooltest  
        OBJ=CThreadManage.o CThreadPool.o CThread.o CWorkerThread.o threadpooltest.o  
          
        $(PRG):$(OBJ)  
            $(CC) $(INC) $(LIB) -o $@ $(OBJ)  
              
        .SUFFIXES: .c .o .cpp  
        .cpp.o:  
            $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o  
          
        .PRONY:clean  
        clean:  
            @echo "Removing linked and compiled files......"  
            rm -f $(OBJ) $(PRG)  
    View Code
  • 相关阅读:
    STM32F0库函数初始化系列:进入STOP模式,外部中断唤醒
    STM32F0库函数初始化系列:ADC
    STM32F0库函数初始化系列:PWM输出
    VBS病毒实验
    AWVS漏洞扫描教程之扫描方式
    利用AWVS扫描Web漏洞
    命令执行漏洞靶场练习二
    命令执行漏洞靶场练习一
    CSRF POST型
    RainbowCrack彩虹表破解密码hash
  • 原文地址:https://www.cnblogs.com/wind8961/p/5026468.html
Copyright © 2011-2022 走看看