0001
0002
0003
0004
0005
0006
0007
0008
0009 PHONY := all
0010 all:
0011
0012 src := $(subst /generated,,$(obj))
0013 -include $(src)/Kbuild
0014
0015
0016 ifneq ($(SRCARCH),um)
0017 include $(srctree)/$(generic)/Kbuild
0018 endif
0019
0020 include $(srctree)/scripts/Kbuild.include
0021
0022 redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
0023 redundant += $(foreach f, $(generic-y), $(if $(wildcard $(srctree)/$(src)/$(f)),$(f)))
0024 redundant := $(sort $(redundant))
0025 $(if $(redundant),\
0026 $(warning redundant generic-y found in $(src)/Kbuild: $(redundant)))
0027
0028
0029 mandatory-y := $(filter-out $(generated-y), $(mandatory-y))
0030 generic-y += $(foreach f, $(mandatory-y), $(if $(wildcard $(srctree)/$(src)/$(f)),,$(f)))
0031
0032 generic-y := $(addprefix $(obj)/, $(generic-y))
0033 generated-y := $(addprefix $(obj)/, $(generated-y))
0034
0035
0036 old-headers := $(wildcard $(obj)/*.h)
0037 unwanted := $(filter-out $(generic-y) $(generated-y),$(old-headers))
0038
0039 quiet_cmd_wrap = WRAP $@
0040 cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
0041
0042 quiet_cmd_remove = REMOVE $(unwanted)
0043 cmd_remove = rm -f $(unwanted)
0044
0045 all: $(generic-y)
0046 $(if $(unwanted),$(call cmd,remove))
0047 @:
0048
0049 $(obj)/%.h:
0050 $(call cmd,wrap)
0051
0052
0053
0054 ifeq ($(old-headers),)
0055 $(shell mkdir -p $(obj))
0056 endif
0057
0058 .PHONY: $(PHONY)