Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


updated file interface
[palacios.git] / scripts / Makefile.clean
1 # ==========================================================================
2 # Cleaning up
3 # ==========================================================================
4
5 src := $(obj)
6
7 PHONY := __clean
8 __clean:
9
10 # Shorthand for $(Q)$(MAKE) scripts/Makefile.clean obj=dir
11 # Usage:
12 # $(Q)$(MAKE) $(clean)=dir
13 clean := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.clean obj
14
15 # The filename Kbuild has precedence over Makefile
16 kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
17 include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
18
19 # Figure out what we need to build from the various variables
20 # ==========================================================================
21
22 __subdir-y      := $(patsubst %/,%,$(filter %/, $(obj-y)))
23 subdir-y        += $(__subdir-y)
24 __subdir-m      := $(patsubst %/,%,$(filter %/, $(obj-m)))
25 subdir-m        += $(__subdir-m)
26 __subdir-n      := $(patsubst %/,%,$(filter %/, $(obj-n)))
27 subdir-n        += $(__subdir-n)
28 __subdir-       := $(patsubst %/,%,$(filter %/, $(obj-)))
29 subdir-         += $(__subdir-)
30
31 # Subdirectories we need to descend into
32
33 subdir-ym       := $(sort $(subdir-y) $(subdir-m))
34 subdir-ymn      := $(sort $(subdir-ym) $(subdir-n) $(subdir-))
35
36 # Add subdir path
37
38 subdir-ymn      := $(addprefix $(obj)/,$(subdir-ymn))
39
40 # build a list of files to remove, usually releative to the current
41 # directory
42
43 __clean-files   := $(extra-y) $(EXTRA_TARGETS) $(always) \
44                    $(targets) $(clean-files)             \
45                    $(host-progs)                         \
46                    $(hostprogs-y) $(hostprogs-m) $(hostprogs-)
47
48 # as clean-files is given relative to the current directory, this adds
49 # a $(obj) prefix, except for absolute paths
50
51 __clean-files   := $(wildcard                                               \
52                    $(addprefix $(obj)/, $(filter-out /%, $(__clean-files))) \
53                    $(filter /%, $(__clean-files)))
54
55 # as clean-dirs is given relative to the current directory, this adds
56 # a $(obj) prefix, except for absolute paths
57
58 __clean-dirs    := $(wildcard                                               \
59                    $(addprefix $(obj)/, $(filter-out /%, $(clean-dirs)))    \
60                    $(filter /%, $(clean-dirs)))
61
62 # ==========================================================================
63
64 quiet_cmd_clean    = CLEAN   $(obj)
65       cmd_clean    = rm -f $(__clean-files)
66 quiet_cmd_cleandir = CLEAN   $(__clean-dirs)
67       cmd_cleandir = rm -rf $(__clean-dirs)
68
69
70 __clean: $(subdir-ymn)
71 ifneq ($(strip $(__clean-files)),)
72         +$(call cmd,clean)
73 endif
74 ifneq ($(strip $(__clean-dirs)),)
75         +$(call cmd,cleandir)
76 endif
77 ifneq ($(strip $(clean-rule)),)
78         +$(clean-rule)
79 endif
80         @:
81
82
83 # ===========================================================================
84 # Generic stuff
85 # ===========================================================================
86
87 # Descending
88 # ---------------------------------------------------------------------------
89
90 PHONY += $(subdir-ymn)
91 $(subdir-ymn):
92         $(Q)$(MAKE) $(clean)=$@
93
94 # If quiet is set, only print short version of command
95
96 cmd = @$(if $($(quiet)cmd_$(1)),echo '  $($(quiet)cmd_$(1))' &&) $(cmd_$(1))
97
98
99 # Declare the contents of the .PHONY variable as phony.  We keep that
100 # information in a variable se we can use it in if_changed and friends.
101
102 .PHONY: $(PHONY)