通用makefile

#工程目录下
#mkdir bin lib src inc obj dep 

#什么都不需要改,只要将Makefile放在bin lib src inc obj dep 文件的同一级目录下即可

#bin放生成的可执行文件
#lib放库文件
#src放.c文件
#inc放.h文件
#obj放生成的中间.o文件
#dep放相关文件所在路径的相关资料



DIR=$(shell pwd)
BIN_DIR=$(DIR)/bin
LIB_DIR=$(DIR)/lib
SRC_DIR=$(DIR)/src
INC_DIR=$(DIR)/inc
OBJ_DIR=$(DIR)/obj
DEP_DIR=$(DIR)/dep
TARGET=$(BIN_DIR)/test

EXTENSION=cpp
OBJS=$(patsubst $(SRC_DIR)/%.$(EXTENSION), $(OBJ_DIR)/%.o,$(wildcard $(SRC_DIR)/*.$(EXTENSION)))
DEP=$(patsubst $(OBJ_DIR)/%.o, $(DEPS_DIR)/%.d, $(OBJS))

INC=-I $(INC_DIR)

CC=g++
CFLAGS=-Wall -W -g
LDFLAGS=

.PHONY: all clean rebuild

all:$(OBJS)
	echo $(DEP_DIR)
	$(CC) -o $(TARGET) $(OBJS) $(LDFLAGS) -lmysqlclient


$(DEP_DIR)/%.d: $(SRC_DIR)/%.$(EXTENSION)
	$(CC) -MM $(INC) $(CFLAGS) $< | sed -e 1's,^,$(OBJ_DIR)/,' > $@ -lmysqlclient

sinclude $(DEP)

$(OBJ_DIR)/%.o:$(SRC_DIR)/%.$(EXTENSION)
	$(CC) $< -o $@ -c $(CFLAGS) $(INC) -lmysqlclient

rebuild: clean all

clean:
	rm -rf $(OBJS) $(LIB_DIR)/lib* $(BIN_DIR)/*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值