Makefile模板

Makefile

# Makefile 

#Makefile,使用时库文件,源文件依次单独编译,保留相关项

############源文件目录  头文件目录  库文件目录#######################

DIR_SRC=
DIR_INC=
DIR_LIB=
DIR_BIN=

#############可执行文件 库文件 执行生成文件##########################

#可执行文件名#
BIN=
#库文件名#
LIB_BIN=$(DIR_LIB)/libexample.a
#生成文本文件#
FILE=

#########################命令和参数################################

#编译命令 参数
CC=gcc
CXX=g++ 
AR=ar -rc
CFLAG=-g -c
LFLAG=-L $(DIR_LIB) -lexample -lm     
#删除命令
RM=rm -f

#########################生成静态库文件(可选)########################

LIB_SRC=$(wildcard $(DIR_LIB)/*.c)
LIB_OBJ=$(patsubst %.c,%.o,$(LIB_SRC))
#生成库文件
$(LIB_BIN):$(LIB_OBJ)
	$(AR) $@ $^ 
#编译库文件->二进制文件
$(DIR_LIB)/%.o:$(DIR_LIB)/%.c
	$(CC) $(CFLAG) -I$(DIR_INC) -o $@ $<

#########################生成可执行文件(可选)########################

#生成可执行文件
SRC=$(wildcard $(DIR_SRC)/*.c)
OBJ=$(patsubst %.c,%.o,$(SRC))
##链接生成可执行文件
$(BIN):$(OBJ)
	$(CC)  -o $@ $^ $(LFLAG)
##编译源文件->二进制文件
$(DIR_SRC)/%.o:$(DIR_SRC)/%.c
	$(CC) $(CFLAG)  -I$(DIR_INC) -o $@  $<

############################目录内清理################################

clean:
	$(RM)  $(FILE) $(BIN) $(OBJ) $(LIB_OBJ)


#全局联合编译Makefile,-C指令依次执行编译和清理
#	make -C ./lib
#	make -C ./src
#clean:
#	make clean -C ./lib
#	make clean -C ./src

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值