Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62284a37 authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

kbuild: code refactoring in Makefile.headerinst



No functional changes just improved readability

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent 283039fb
Loading
Loading
Loading
Loading
+35 −29
Original line number Original line Diff line number Diff line
@@ -37,6 +37,8 @@ ifeq ($(obj),include/asm-$(ARCH)$(BIASMDIR))
     _dst := include/asm
     _dst := include/asm
endif
endif


install := $(INSTALL_HDR_PATH)/$(_dst)

header-y	:= $(sort $(header-y) $(unifdef-y))
header-y	:= $(sort $(header-y) $(unifdef-y))
subdir-y	:= $(patsubst %/,%,$(filter %/, $(header-y)))
subdir-y	:= $(patsubst %/,%,$(filter %/, $(header-y)))
header-y	:= $(filter-out %/, $(header-y))
header-y	:= $(filter-out %/, $(header-y))
@@ -45,31 +47,31 @@ header-y := $(filter-out %/, $(header-y))
check-y		:= $(patsubst %,.check.%,$(header-y) $(objhdr-y))
check-y		:= $(patsubst %,.check.%,$(header-y) $(objhdr-y))


# Work out what needs to be removed
# Work out what needs to be removed
oldheaders	:= $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$(wildcard $(INSTALL_HDR_PATH)/$(_dst)/*.h))
oldheaders      := $(patsubst $(install)/%,%,$(wildcard $(install)/*.h))
unwanted        := $(filter-out $(header-y) $(objhdr-y),$(oldheaders))
unwanted        := $(filter-out $(header-y) $(objhdr-y),$(oldheaders))


oldcheckstamps	:= $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$(wildcard $(INSTALL_HDR_PATH)/$(_dst)/.check.*.h))
oldcheckstamps  := $(patsubst $(install)/%,%,$(wildcard $(install)/.check.*.h))
unwanted        += $(filter-out $(check-y),$(oldcheckstamps))
unwanted        += $(filter-out $(check-y),$(oldcheckstamps))


# Prefix them all with full paths to $(INSTALL_HDR_PATH)
# Prefix them all with full paths to $(INSTALL_HDR_PATH)
header-y 	:= $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(header-y))
header-y        := $(patsubst %,$(install)/%,$(header-y))
objhdr-y 	:= $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(objhdr-y))
objhdr-y        := $(patsubst %,$(install)/%,$(objhdr-y))
check-y 	:= $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(check-y))
check-y         := $(patsubst %,$(install)/%,$(check-y))


quiet_cmd_o_hdr_install = INSTALL $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
quiet_cmd_o_hdr_install = INSTALL $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
      cmd_o_hdr_install   = cp $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(objtree)/$(obj)/%,$@) \
      cmd_o_hdr_install = cp $(patsubst $(install)/%,$(objtree)/$(obj)/%,$@) \
			    $(INSTALL_HDR_PATH)/$(_dst)
                             $(install)


quiet_cmd_unifdef = UNIFDEF $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
quiet_cmd_unifdef = UNIFDEF $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
      cmd_unifdef	  = $(UNIFDEF) $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(srctree)/$(obj)/%,$@) \
      cmd_unifdef = $(UNIFDEF) $(patsubst $(install)/%,$(srctree)/$(obj)/%,$@)\
                               | $(HDRSED) > $@ || :
                               | $(HDRSED) > $@ || :


quiet_cmd_check		  = CHECK   $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/.check.%,$(_dst)/%,$@)
quiet_cmd_check = CHECK   $(patsubst $(install)/.check.%,$(_dst)/%,$@)
      cmd_check = $(CONFIG_SHELL) $(srctree)/scripts/hdrcheck.sh \
      cmd_check = $(CONFIG_SHELL) $(srctree)/scripts/hdrcheck.sh \
                  $(INSTALL_HDR_PATH)/include $(subst /.check.,/,$@) $@
                  $(INSTALL_HDR_PATH)/include $(subst /.check.,/,$@) $@


quiet_cmd_remove = REMOVE  $(_dst)/$@
quiet_cmd_remove = REMOVE  $(_dst)/$@
      cmd_remove	  = rm -f $(INSTALL_HDR_PATH)/$(_dst)/$@
      cmd_remove = rm -f $(install)/$@


quiet_cmd_mkdir  = MKDIR   $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
quiet_cmd_mkdir  = MKDIR   $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
      cmd_mkdir  = mkdir -p $@
      cmd_mkdir  = mkdir -p $@
@@ -80,13 +82,14 @@ ifdef HDRCHECK
__headerscheck: $(subdir-y) $(check-y)
__headerscheck: $(subdir-y) $(check-y)
	@true
	@true


$(check-y) : $(INSTALL_HDR_PATH)/$(_dst)/.check.%.h : $(INSTALL_HDR_PATH)/$(_dst)/%.h 
$(check-y) : $(install)/.check.%.h : $(install)/%.h
	$(call cmd,check)
	$(call cmd,check)


# Other dependencies for $(check-y)
# Other dependencies for $(check-y)
include /dev/null $(wildcard $(check-y))
include /dev/null $(wildcard $(check-y))


# ... but leave $(check-y) as .PHONY for now until those deps are actually correct.
# but leave $(check-y) as .PHONY for now until those
# deps are actually correct.
.PHONY: $(check-y)
.PHONY: $(check-y)


else
else
@@ -94,26 +97,29 @@ else
__headersinst: $(subdir-y) $(header-y) $(objhdr-y)
__headersinst: $(subdir-y) $(header-y) $(objhdr-y)
	@true
	@true


$(objhdr-y) $(subdir-y) $(header-y): | $(INSTALL_HDR_PATH)/$(_dst) $(unwanted)
$(objhdr-y) $(subdir-y) $(header-y): | $(install) $(unwanted)


$(INSTALL_HDR_PATH)/$(_dst):
$(install):
	$(call cmd,mkdir)
	$(call cmd,mkdir)


# Rules for removing unwanted header files
.PHONY: $(unwanted)
.PHONY: $(unwanted)
$(unwanted):
$(unwanted):
	$(call cmd,remove)
	$(call cmd,remove)


$(objhdr-y): $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(objtree)/$(obj)/%.h $(kbuild-file)
# Install generated files
$(objhdr-y): $(install)/%.h: $(objtree)/$(obj)/%.h $(kbuild-file)
	$(call cmd,o_hdr_install)
	$(call cmd,o_hdr_install)


$(header-y): $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(srctree)/$(obj)/%.h $(kbuild-file)
# Unifdef header files and install them
$(header-y): $(install)/%.h: $(srctree)/$(obj)/%.h $(kbuild-file)
	$(call cmd,unifdef)
	$(call cmd,unifdef)


endif
endif


hdrinst := -rR -f $(srctree)/scripts/Makefile.headersinst obj
hdr-inst := -rR -f $(srctree)/scripts/Makefile.headersinst obj


# Recursion
# Recursion
.PHONY: $(subdir-y)
.PHONY: $(subdir-y)
$(subdir-y):
$(subdir-y):
	$(Q)$(MAKE) $(hdrinst)=$(obj)/$@ dst=$(_dst)/$@ rel=../$(rel)
	$(Q)$(MAKE) $(hdr-inst)=$(obj)/$@ dst=$(_dst)/$@