主要学习内容:
1.头文件搜索路径
2. .cpp.文件和.c文件别搞混了
3. 目标依赖集,只需把所有源文件的.cpp替换成.o就行,所以一条搞定OBJS = $(SRCS:.cpp=.o)单纯的替换
4. 将所有.cpp文件编译成.o文件只需要%.o:%.cpp就行了,用不着每一条都编译
5.习惯将所有源文件都放在一个变量中,这样更简单更清晰更方便
Makefile:
CC = gcc-------------------------------------CC变量
INC = -I./test-add -I./test-sub ----------------头文件搜索路径变量参数是-I
TARGETS = test.exe-----------------------------目标变量
SRCS=test.cpp \---------------------------------源文件
./test-add/test-add.cpp \
./test-sub/test-sub.cpp
OBJS = $(SRCS:.cpp=.o)-------------------------目标依赖,所有SRCS中的.cpp替换成.o
$(TARGETS):$(OBJS)------------------------------链接所有.o文件生成目标文件
$(CC) -o $@ $^ -------------------------------$@目标文件 $^目标依赖的文件列表
%.o:%.cpp-----------------------------------------将所有.cpp文件编译成.o文件
$(CC) $(INC) -c $< ----------------------------$(INC)加上头文件搜索路径 -c只编译不链接 $<当前目标依赖集的第一个依赖
makefile练习1
最新推荐文章于 2024-04-20 20:01:15 发布