mysql makefile例子_makefile 示例1

# 设置编译器

CC = g++

# -fPIC 作用于编译阶段,告诉编译器产生与位置无关代码

# -D宏定义,相当于C中的全局#define,可以通过宏定义来控制源程序的编译,例如:

# #ifdef _FILELINE

# printf("Hello Yu Qiang, How are you?\n");

# #else

# printf("Sorry to lost you. \n");

# #endif

# 程序最终调用输出是: Hello Yu Qiang, How are you?

CFLAG = -g -fPIC -D_FILELINE

# mysql的头文件

MYSQLINC = /usr/include/mysql

INC = -I -Iinclude -I$(MYSQLINC)

# mysql库目录

MYSQLLIB = -L /usr/lib64/mysql -l mysqlclient -lz -lm

# 服务器目标

SERVEROBJS = src/file1.o src/file2.o src/file3.o

# 客户端目标

CLIENTOBJS = src/f1.o src/f2.o

# bin目录

BINDIR = bin

# checkbin 检查是否存在bin目录

# 在bin目录下生成 Server 与 Client

all: checkbin $(BINDIR)/Server $(BINDIR)/Client

# 生成 Server

# $^ 所有.o文件

# $@ 所有.c文件

$(BINDIR)/Server: $(SERVEROBJS)

$(CC) -g $(MYSLQLIB) $^ -o $@

# 生成Client

$(BINDIR)/Clietn: $(CLIENTOBJS)

$(CC) -g $(MYSQLLIB) $^ -o $@

# .SUFFIXES 连接后缀,把.o .cpp .c .cpp.o 这些文件连接起来编译。当前makefile内支持文件后缀的类型列表。

.SUFFIXES: .c .o .cpp

.cpp.o:

$(CC) $(CFLAG) $(INC) -o $@ -c $<

# .PHONY 伪目标

.PHONY: checkbin

checkbin:

test -d "${BINDIR}" || mkdir $(BINDIR)

.PHONY: clean

clean:

-rm -f *.o

-rm -f $(BINDIR)/Server

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值