-
工程文件结构如下
-
Project
- inc/
- xxx.h
- xxx.h
- imp/
- xxx.cpp
- xxx.cpp
- Makefile
- inc/
-
Makefile内容
CXX = g++
DEBUG = -g -O2
CFLAGS = $(DEBUG) -Wall -c
RM = rm -rf
# 所有源文件
# wildcard,在变量的定义或函数引用时,使通配符生效
SRCS = $(wildcard ./imp/*.cpp)
# patsubst 替换通配符 a.cpp替换为a.o
OBJS = $(patsubst %.cpp, %.o, $(SRCS))
# include路径 -I+路径
HEADER_PATH = -I./inc/
# 目标程序名
TARGET = Test
# make
$(TARGET) : $(OBJS)
$(CXX) $^ -o $@
$(OBJS):%.o : %.cpp
$(CXX) $(CFLAGS) $< -o $@ $(HEADER_PATH)
# make clean
clean:
$(RM) $(TARGET) ./imp/*.o
本文详细介绍了一个具体的Makefile配置实例,包括如何使用wildcard获取所有源文件,并通过patsubst进行文件名转换来构建目标文件。同时展示了如何指定编译器、编译选项及头文件搜索路径等关键设置。
402

被折叠的 条评论
为什么被折叠?



