Makefile是Linux系统中不可或缺的工具,其独特的文件格式被用于描述软件程序的编译流程及其相互依赖关系。通过Makefile,用户可以轻松利用make命令来构建和管理项目。尽管其语法和规则相对直观,但在实际应用中仍有一些细节和特殊情况需特别关注,否则可能会导致编译失败或产生不可预见的结果。
1、ifeq语句的括号里面,不要随意使用空格
TmpDir = /Source #下方的/Source后面空了几格 ifeq ($(TmpDir), /Source ) Result = They are equal else Result = They are not equal endif all: @echo $(Result) make之后其结果为 : They are not equal 若把 ifeq ($(TmpDir), /Source ) 改为 ifeq ($(TmpDir), /Source)
2、在mingw环境下使用路径时的陷阱
TARGET = Temp # abspath 函数:获取其参数中的文件或者目录的绝对路径 APP_BASE = $(abspath ../..) DEV_BLD_DIR = $(APP_BASE)/$(TARGET)/Build TEMP = $(APPSRC:.c=.o) APPOBJS_TMP = $(TEMP:.S=.o) # addprefix 函数:把 APPOBJS_TMP 中的文件一一添加前缀 $(DEV_BLD_DIR)/ APPOBJS := $(addprefix $(DEV_BLD_DIR)/,$(APPOBJS_TMP)) APPDEPS_TMP = $(APPOBJS_TMP:.o=.d) APPDEPS := $(addprefix $(DEV_BLD_DIR)/,$(APPDEPS_TMP)) all: Tmp.bin -include $(APPDEPS) ...... #省略了若干内容 ...... # subst 函数:把$@中的 Source 替换成 Build # 该编译的命令,在编译源文件的同时,也生成了.d 依赖文件 $(DEV_BLD_DIR)/%.o: %.c $(info Compiling $$@) $(CFLAGS) $(INCFLAGS) $
标签: Linux故障排查
上面是“Linux Makefile使用指南:避开常见误区与陷阱”的全面内容,想了解更多关于 后端开发 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_14392.html
workflows工作流
- 沙漠里美丽的图阿雷格女孩ComfyUI工作流
- 一个黄色的海绵宝宝ComfyUI工作流
- 树枝上一只色彩斑斓的小鸟
- 一朵在晨光中带着露珠的蓝玫瑰
- 一只可爱的毛茸茸的猫ComfyUI工作流
- 一只乌鸦栖息在一盏神灯上
- 池塘边的大熊猫ComfyUI工作流
- 在地铁站里一个迷茫的非主流姑娘
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!