几个Makefile的模板

2018-11-22  本文已影响0人  叶迎宪

静态库

BIN_OBJ = lib/libg729.a

CC       = gcc
CFLAGS   = -g -I./include
LINKTOOL = ar
CMPEFLAG = -rs
LINKFLAG = $(CMPEFLAG)


SRC_FILES = $(wildcard src/*.c)
OBJ_FILES = $(patsubst %.c, %.o, $(SRC_FILES))


all : $(BIN_OBJ)    
    
$(BIN_OBJ) : $(OBJ_FILES)
    mkdir -p ./lib
    $(LINKTOOL) $(LINKFLAG) $@ $(OBJ_FILES) 
    
$(OBJ_FILES) : %.o : %.c
    $(CC) $(CFLAGS) -c $< -o $@
    
clean:
    rm -f $(OBJ_FILES)
    rm -f $(BIN_OBJ)

可执行文件

BIN_OBJ = xiaoniu

CC       = gcc
CPP      = g++
CFLAGS   = -g
CPPFLAGS = -g -std=c++11
LINKFLAG = -lcurl


C_SRC_FILES = $(wildcard *.c)
C_OBJ_FILES = $(patsubst %.c, %.o, $(C_SRC_FILES))
CPP_SRC_FILES = $(wildcard *.cpp)
CPP_OBJ_FILES = $(patsubst %.cpp, %.o, $(CPP_SRC_FILES))


all : $(BIN_OBJ)    
    
$(BIN_OBJ) : $(C_OBJ_FILES) $(CPP_OBJ_FILES)
    $(CPP) -o $@ $(C_OBJ_FILES) $(CPP_OBJ_FILES) $(LINKFLAG)
    
$(C_OBJ_FILES) : %.o : %.c
    $(CC) $(CFLAGS) -c $< -o $@

$(CPP_OBJ_FILES) : %.o : %.cpp
    $(CPP) $(CPPFLAGS) -c $< -o $@
    
clean:
    rm -f $(C_OBJ_FILES)
    rm -f $(CPP_OBJ_FILES)
    rm -f $(BIN_OBJ)
上一篇下一篇

猜你喜欢

热点阅读