linux编译多个源文件的程序比较麻烦,这下就需要通用的Makefile了,编译的时候执行一下make命令就OK,下面介绍通用makfile的写法。
# 头文件路径,可以任意指定头文件
PREFIX=/usr/local
BINDIR=$(PREFIX)/bin
# 链接库
LINKPARAM = -lpthread
# object文件
PROGRAM=stFtpClient
# 编译器
CC=gcc
# 编译选项(-ansi -g -Wall)
CFLAGS=
COMPILE=$(CC)$(CFLAGS) -c
LINK=$(CC)$(CFLAGS)
all:$(PROGRAM)
# 定义目标文件生成规则
$(PROGRAM):main.o stFtpClient.o
$(LINK) main.o stFtpClient.o -o $(PROGRAM)
main.o:main.c
$(COMPILE) main.c
stFtpClient.o:stFtpClient.c
$(COMPILE) stFtpClient.c
unistall:
cd $(BINDIR) && if[ -f "./$(PROGRAM)"];then rm $(PROGRAM);fi
install:
cp -f $(PROGRAM) $(BIRDIR)
# 定义清理函数
clean:
rm -rf *.o $(PROGRAM)