1、理解makefile是如何工作
见makfile中文手册 2.4节内容。
2、首先编写各种需赋值的变量
3、调用shell下命令方式:
eg:UNAME = $(shelluname)
echo$(UNAME)
显示:Linux
4、条件判断
ifeq($(UNAME), Linux)
… …
endif
5、三种赋值运算符:
(1)”=”
LHS = $(UNAME):RHS不会被立即展开
(2)”:=”
LHS := $(UNAME):RHS会被立即展开为”Linux”
(3)”+=”
6、赋值:
(1)可以将函数、正则表达式的结果赋值给你变量
(2)NCSC_LD = .:$(CURR_DIR)/Linux_x86_64/lib:/opt/cadence/ius92/tools/lib/64bit
7、C++编译参数CXXFLAGS:
(1)CXXFLAGS+=-DNCSC_VERSION=920:定义变量NCSC_VERSION并指定值;
(2)编译C++时源文件指定:
SRC = $(wildcard*.cpp) $(wildcard src/*.cpp) $(wildcard /src/*/*.cpp):查找出对应目录中的所以*.cpp文件
(3)将编译后的*.o按*.cpp原文档结构存放的方法:
OBJS = $(

本文详细介绍了makefile的工作原理,包括如何编写变量、使用shell命令、进行条件判断、赋值运算符的运用以及C++编译参数。通过实例展示了查找源文件、生成目标文件及打包静态库的过程,旨在帮助读者掌握makefile的实用技巧。
&spm=1001.2101.3001.5002&articleId=54090830&d=1&t=3&u=f7dc3fcf879142c586dc7c0dbaf2ff0e)
199

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



