美文网首页Programmer
makefile -- 动态库、进程

makefile -- 动态库、进程

作者: github_lincy | 来源:发表于2019-01-08 10:12 被阅读0次

    动态库 makefile 示例

    CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
    CFLAG = $(CFLAGS) -shared -O3 -Wall -g -ggdb -DUSE_DL_PREFIX  -DMSPACES -DUSE_LOCKS=1 -fPIC
    LDFLAG = $(LINKFLAGS) -lpthread -lrt
    LIB_DIR_SRC = $(wildcard *.c)
    SO_NAME =xx.so
    
    PLATFORM=device
    ifeq ($(PLATFORM),device)
            CFLAG += -DUSE_DEVICE
    endif
    
    default: all
    
    .DEFAULT:
            @echo " "
            @echo ">      Make xx lib     <"
            $(CC) $(CFLAG) $(LIB_DIR_SRC) -o $(SO_NAME ) $(LDFLAG)
    
    clean:
            rm -rf $(SO_NAME)
    

    进程 makefile 示例

    CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
    CFLAG = $(CFLAGS) -O3 -Wall -g -ggdb
    LDFLAG = $(LINKFLAGS) -lpthread -lrt
    PRO_DIR_SRC = $(wildcard *.c)
    PRO_NAME = xx
    
    PLATFORM=device
    ifeq ($(PLATFORM),device)
            CFLAG += -DUSE_DEVICE
    endif
    
    default: all
    
    .DEFAULT:
            @echo " "
            @echo ">      Make xx process     <"
            $(CC) $(CFLAG) $(PRO_DIR_SRC ) -o $(PRO_NAME) $(LDFLAG)
    
    clean:
            rm -rf $(PRO_NAME)
    

    可以看出,动态库与进程范式基本一样,主要区别在于CFLAG

    相关文章

      网友评论

        本文标题:makefile -- 动态库、进程

        本文链接:https://www.haomeiwen.com/subject/ssqvrqtx.html