前言
makefile编译代码,有其他需要链接的库,包含mysql,base64等等三方服务,详情看代码吧~
写这个大概在五年之前了哦~
编译des md5 base64密码服务
- all 规则示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57INCL=-I/usr/local/mysql/include -I$(HOME)/incl
LIB=-L/usr/local/mysql/lib -lmysqlclient -lmysqld -lmysqlservices
BINDIR=$(HOME)/bin
LIBDIR=$(HOME)/lib
.SUFFIXES: .cpp .c
.cpp.o:
g++ ${INCL} -c $<
.c.o:
gcc $(INCL) -c $<
#[NOTE]
all: clean des md5 base64
des:des.o main_des.o
gcc -o $@ $? $(LIB)
mv $@ $(BINDIR)
md5:md5.o main_md5.o
gcc -o $@ $? $(LIB)
mv $@ $(BINDIR)
base64test:base64.o main_base64.o
gcc -o $@ $? $(LIB)
mv $@ $(BINDIR)
rsa:rsa.o main_rsa.o
gcc -o $@ $? $(LIB)
mv $@ $(BINDIR)
libjiami.a:des.o md5.o base64.o
ar -r $@ $?
mv $@ $(LIBDIR)
libdestest:main_des.o
gcc -o $@ $? $(LIB) -L$(HOME)/lib -ljiami
mv $@ $(BINDIR)
libtest.so:des.c md5.c base64.c
gcc -o $@ -fPIC -shared $?
mv $@ $(LIBDIR)
libmd5test:main_md5.o
gcc -o $@ $? $(LIB) -L$(HOME)/lib -ltest
mv $@ $(BINDIR)
libbanktest.a:banktest.o banksql.o
ar -r $@ $?
mv $@ $(LIBDIR)
banktest:banktest.o banksql.o
gcc -o $@ $? $(LIB) -L$(HOME)/lib -ltest
mv $@ $(BINDIR)
clean:
rm -f *.o