请问为什么“make clean”要先加上前缀然后再替换掉呢?
# Directories & files removed with 'make clean'
CLEAN_DIRS +=
CLEAN_FILES += myapp
# clean - Delete most
#
clean: rm-dirs := $(CLEAN_DIRS)
clean: rm-files := $(CLEAN_FILES)
clean-dirs := $(addprefix _clean_, . $(myapp-dirs))
PHONY += $(clean-dirs) clean archclean
$(clean-dirs):
$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
clean: $(clean-dirs)
$(call cmd,rmdirs)
$(call cmd,rmfiles)
@find . $(RCS_FIND_IGNORE) \
\( -name '*.[oas]' -o -name '.*.cmd' \
-o -name '.*.d' -o -name '.*.tmp' \
-o -name '.tmp_*.o.*' \
-o -name '*.gcno' \) -type f -print | xargs rm -fclean-dirs := $(addprefix _clean_, . $(myapp-dirs)),这句给clean-dirs加上了前缀_clean_
$(clean-dirs):
$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@),这句又把前缀_clean_替换掉了
请问这样先加前缀,后替换掉是为了什么呢?谢谢先!
...全文
相关推荐
Android studio的make Project、clean Project、Rebuild Project
在Android Studio中,开发过程中会经常遇到与项目构建相关的操作,包括Make Project、Clean Project、Rebuild Project以及 Invalidate Cach
GNU make 中文手册
**清洁目标**:经常在Makefile中看到一个名为“clean”的目标,它的作用是删除由构建过程产生的临时文件和目标文件,保持工作目录的整洁。8.
Linux中make工具的简介
makefile的规则以`<tab>`键作为命令行的前缀,这是因为make工具解析时需要识别命令行。此外,注释以`#`开始,方便添加说明或调试。
qake:使用不同方法的基于 GNU Make 的构建系统
凯克使用不同方法的基于 GNU Make 的构建系统。目录为什么? GNU Make 是一个旧的依赖跟踪程序。 多年来,它获得了许多难以以可维护方式使用的功能。 例如,内置隐式规则。 它还在几个方面进
GUN make手册
手册会指导你如何正确地编写这些命令,以及如何使用伪目标(如“clean”或“install”)来执行清理或安装任务。此外,手册还会详细介绍make的内置规则和模式规则。


