##########################################################################
# 通用makefile文件
# makefile规则
# target ... : prerequisites ...
# command
# ...
# ...
# target 是一个目标文件,可以是Object File,也可以是执行文件?
# prerequisites是要生成那个target所需要的文件或是目标,用空格隔开
# command也就是make需要执行的命令。(任意的Shell命令,以Tab开头)
##########################################################################
# 定义编译器
CC := g++
# 定义应用程序名称或者库名称
AppName := ugg
# 版本信息(生成so文件需要设置)
#APP_VERSION = 1
# 子目录
SRCDIRS :=
# 编译选项
FLAGS := -g -Wall
CFLAGS := $(FLAGS)
CXXFLAGS := $(CFLAGS)
##########################################################################
# 以下部分不需修改
# 定义编译源文件
SRC = $(wildcard *.c) $(wildcard *.cc) $(wildcard *.cpp)
# 定义包含文件,以及库引用
#LINC := -I/home/y/include
LINC :=
#LLDLIBS := -L/home/y/lib -L/usr/local/lib -lmysqlclient -lyconf -llog4cpp_y LLDLIBS :=
OBJS := $(patsubst %.cpp,%.o, $(patsubst %.c, %.o, $(patsubst %.cc, %.o, $(SRC))))
all: depend $(OBJS)
$(CC) $(FLAGS) $(OBJS) -o $(AppName)
depend: $(SRC)
@$(CC) $(FLAGS) -w -MM $^ > $@
-include depend
.PHONY:clean install uninstall rebuild start check test tar
# 删除过程文件
clean:
-rm $(AppName) $(OBJS) depend
# 安装
install:
echo "No Support!";
# 卸载
uninstall:
echo "No Support!";
# 重新编译
rebuild: clean all
#开始运行
start:
-./$(AppName)
# 测试
check:
-make -t
# 测试
test: check
# 打包
tar:rebuild
echo "No Support!"
#################文件结束#####################
自己写的makefile文件,使用比较简单,仅使用于源文件在同一目录下应用。
详细,参考文档内说明即可
简单通用的makefile文件
最新推荐文章于 2021-10-23 09:52:12 发布