URL
https://opencores.org/ocsvn/test_project/test_project/trunk
Subversion Repositories test_project
[/] [test_project/] [trunk/] [linux_sd_driver/] [scripts/] [Makefile.clean] - Rev 62
Compare with Previous | Blame | View Log
# ==========================================================================# Cleaning up# ==========================================================================src := $(obj)PHONY := __clean__clean:# Shorthand for $(Q)$(MAKE) scripts/Makefile.clean obj=dir# Usage:# $(Q)$(MAKE) $(clean)=dirclean := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.clean obj# The filename Kbuild has precedence over Makefilekbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)# Figure out what we need to build from the various variables# ==========================================================================__subdir-y := $(patsubst %/,%,$(filter %/, $(obj-y)))subdir-y += $(__subdir-y)__subdir-m := $(patsubst %/,%,$(filter %/, $(obj-m)))subdir-m += $(__subdir-m)__subdir-n := $(patsubst %/,%,$(filter %/, $(obj-n)))subdir-n += $(__subdir-n)__subdir- := $(patsubst %/,%,$(filter %/, $(obj-)))subdir- += $(__subdir-)# Subdirectories we need to descend intosubdir-ym := $(sort $(subdir-y) $(subdir-m))subdir-ymn := $(sort $(subdir-ym) $(subdir-n) $(subdir-))# Add subdir pathsubdir-ymn := $(addprefix $(obj)/,$(subdir-ymn))# build a list of files to remove, usually releative to the current# directory__clean-files := $(extra-y) $(always) \$(targets) $(clean-files) \$(host-progs) \$(hostprogs-y) $(hostprogs-m) $(hostprogs-)# as clean-files is given relative to the current directory, this adds# a $(obj) prefix, except for absolute paths__clean-files := $(wildcard \$(addprefix $(obj)/, $(filter-out /%, $(__clean-files))) \$(filter /%, $(__clean-files)))# as clean-dirs is given relative to the current directory, this adds# a $(obj) prefix, except for absolute paths__clean-dirs := $(wildcard \$(addprefix $(obj)/, $(filter-out /%, $(clean-dirs))) \$(filter /%, $(clean-dirs)))# ==========================================================================quiet_cmd_clean = CLEAN $(obj)cmd_clean = rm -f $(__clean-files)quiet_cmd_cleandir = CLEAN $(__clean-dirs)cmd_cleandir = rm -rf $(__clean-dirs)__clean: $(subdir-ymn)ifneq ($(strip $(__clean-files)),)+$(call cmd,clean)endififneq ($(strip $(__clean-dirs)),)+$(call cmd,cleandir)endififneq ($(strip $(clean-rule)),)+$(clean-rule)endif@:# ===========================================================================# Generic stuff# ===========================================================================# Descending# ---------------------------------------------------------------------------PHONY += $(subdir-ymn)$(subdir-ymn):$(Q)$(MAKE) $(clean)=$@# If quiet is set, only print short version of commandcmd = @$(if $($(quiet)cmd_$(1)),echo ' $($(quiet)cmd_$(1))' &&) $(cmd_$(1))# Declare the contents of the .PHONY variable as phony. We keep that# information in a variable se we can use it in if_changed and friends..PHONY: $(PHONY)
