linux/scripts/Makefile.asm-generic
<<
>>
Prefs
   1# include/asm-generic contains a lot of files that are used
   2# verbatim by several architectures.
   3#
   4# This Makefile reads the file arch/$(SRCARCH)/include/asm/Kbuild
   5# and for each file listed in this file with generic-y creates
   6# a small wrapper file in $(obj) (arch/$(SRCARCH)/include/generated/asm)
   7
   8kbuild-file := $(srctree)/arch/$(SRCARCH)/include/$(src)/Kbuild
   9-include $(kbuild-file)
  10
  11include scripts/Kbuild.include
  12
  13# Create output directory if not already present
  14_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
  15
  16# Stale wrappers when the corresponding files are removed from generic-y
  17# need removing.
  18generated-y   := $(generic-y) $(genhdr-y) $(generated-y)
  19all-files     := $(patsubst %, $(obj)/%, $(generated-y))
  20old-headers   := $(wildcard $(obj)/*.h)
  21unwanted      := $(filter-out $(all-files),$(old-headers))
  22
  23quiet_cmd_wrap = WRAP    $@
  24cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@
  25
  26quiet_cmd_remove = REMOVE  $(unwanted)
  27cmd_remove = rm -f $(unwanted)
  28
  29all: $(patsubst %, $(obj)/%, $(generic-y)) FORCE
  30        $(if $(unwanted),$(call cmd,remove),)
  31        @:
  32
  33$(obj)/%.h:
  34        $(call cmd,wrap)
  35
  36PHONY += FORCE
  37.PHONY: $(PHONY)
  38FORCE: ;
  39