一个简单makefile(指定obj文件位置)
2012-07-20 16:03
281 查看
1. 可以指定 .o 文件生成的位置
2. 可以自动搜索原代码文件
用于例子的目录和文件结构大致如下:
app
src
obj
test.o
a.o
a.cpp
test.cpp
makefile
include
bin
#make file v1.0
#define charset
export LC_ALL = zh_CN.GBK
export LANG = zh_CN.GBK
#define gcc global variable
LIBS = -lpthread -lrt
INCLUDE = -I../
CC = g++
CFLAGS += -Wno-deprecated -Wall -g
#define target file
BIN = ../bin/test
#define compile variable
CUR_PATH = ./
OBJ_PATH = $(CUR_PATH)obj/
#获取到本目录下所有cpp
ALL_CPP = $(foreach dir,$(CUR_PATH),$(wildcard $(dir)*.cpp))
#构造预期的目标 .o 文件
ALL_OBJ = $(patsubst $(CUR_PATH)%.cpp,%.o,$(ALL_CPP))
#指定 .o 文件生成的目录
ALL_OBJ_POS = $(addprefix $(OBJ_PATH),$(ALL_OBJ))
#define target
default:
@echo "make file example v1.0"
@echo " use make all"
@echo $(DEPE)
all: $(ALL_OBJ)
#.PHONY : all
$(CC) $(LIBS) $(CFLAGS) -o $(BIN) $(ALL_OBJ_POS)
$(ALL_OBJ): %.o: %.cpp
$(CC) $(INCLUDE) $(CFLAGS) -c $< -o $(OBJ_PATH)$@
clean :
-rm $(OBJ_PATH)*.o $(BIN) *.o
2. 可以自动搜索原代码文件
用于例子的目录和文件结构大致如下:
app
src
obj
test.o
a.o
a.cpp
test.cpp
makefile
include
bin
#make file v1.0
#define charset
export LC_ALL = zh_CN.GBK
export LANG = zh_CN.GBK
#define gcc global variable
LIBS = -lpthread -lrt
INCLUDE = -I../
CC = g++
CFLAGS += -Wno-deprecated -Wall -g
#define target file
BIN = ../bin/test
#define compile variable
CUR_PATH = ./
OBJ_PATH = $(CUR_PATH)obj/
#获取到本目录下所有cpp
ALL_CPP = $(foreach dir,$(CUR_PATH),$(wildcard $(dir)*.cpp))
#构造预期的目标 .o 文件
ALL_OBJ = $(patsubst $(CUR_PATH)%.cpp,%.o,$(ALL_CPP))
#指定 .o 文件生成的目录
ALL_OBJ_POS = $(addprefix $(OBJ_PATH),$(ALL_OBJ))
#define target
default:
@echo "make file example v1.0"
@echo " use make all"
@echo $(DEPE)
all: $(ALL_OBJ)
#.PHONY : all
$(CC) $(LIBS) $(CFLAGS) -o $(BIN) $(ALL_OBJ_POS)
$(ALL_OBJ): %.o: %.cpp
$(CC) $(INCLUDE) $(CFLAGS) -c $< -o $(OBJ_PATH)$@
clean :
-rm $(OBJ_PATH)*.o $(BIN) *.o
相关文章推荐
- 一个简单的makefile文件分析
- python 替换字符串中指定位置字符——一个简单有效的方法
- 一个简单的makefile编写所需的文件树
- 简单的makefile,完成输出对象文件到指定的文件夹-来自csdn论坛
- linux下编写的一个最简单的Makefile文件
- 在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0
- 【自用】C# 遍历指定文件夹下的文件的一个简单方法
- 原来将一个文件复制到指定目录下如此简单
- 对一个uClinux中的Makefile文件的简单分析(ZT)
- 一个简单的makefile 文件模板
- 为apache重新指定日志生成位置,每天生成一个文件
- 在已知文件的指定位置,写一个整数
- Linux下,使用Makefile文件编写一个简单的彩色进度条
- 在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0
- 一个简单的获取备份文件位置的procedure
- 1.编写一个简单的C语言程序:计算输入多个整数的平均值,并将此程序分割成多个小文件。 2.为第1题中的程序编写makefile文件,用make编译后改成返回最小值,再编译,观察有多少文件不需要重新
- 一个简单的wed服务器SHTTPD(9)————main函数文件,Makefile,头文件
- 1.编写一个简单的C语言程序:计算输入多个整数的平均值,并将此程序分割成多个小文件。 2.为第1题中的程序编写makefile文件,用make编译后改成返回最小值,再编译,观察有多少文件不需要重新
- 使用sed在一个文件中指定位置插入另外一个文件的内容-r命令的使用
- makefile 各文件指定路径之简单模版