Blame view

scripts/Makefile.asm-generic 1.8 KB
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  # SPDX-License-Identifier: GPL-2.0
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
2
3
4
  # include/asm-generic contains a lot of files that are used
  # verbatim by several architectures.
  #
7d0e5c205   Masahiro Yamada   kbuild: refactor ...
5
  # This Makefile reads the file arch/$(SRCARCH)/include/(uapi/)/asm/Kbuild
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
6
  # and for each file listed in this file with generic-y creates
7d0e5c205   Masahiro Yamada   kbuild: refactor ...
7
  # a small wrapper file in arch/$(SRCARCH)/include/generated/(uapi/)/asm.
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
8

a7d34df3d   Masahiro Yamada   kbuild: add forwa...
9
10
  PHONY := all
  all:
7d0e5c205   Masahiro Yamada   kbuild: refactor ...
11
12
  src := $(subst /generated,,$(obj))
  -include $(src)/Kbuild
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
13

037fc3368   Masahiro Yamada   kbuild: force all...
14
15
16
17
  # $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
  ifneq ($(SRCARCH),um)
  include $(generic)/Kbuild
  endif
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
18
  include scripts/Kbuild.include
7cbbbb8bc   Masahiro Yamada   kbuild: warn redu...
19
20
21
22
23
  redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
  redundant += $(foreach f, $(generic-y), $(if $(wildcard $(srctree)/$(src)/$(f)),$(f)))
  redundant := $(sort $(redundant))
  $(if $(redundant),\
  	$(warning redundant generic-y found in $(src)/Kbuild: $(redundant)))
919987318   Masahiro Yamada   kbuild: generate ...
24
25
26
  # If arch does not implement mandatory headers, fallback to asm-generic ones.
  mandatory-y := $(filter-out $(generated-y), $(mandatory-y))
  generic-y   += $(foreach f, $(mandatory-y), $(if $(wildcard $(srctree)/$(src)/$(f)),,$(f)))
7d0e5c205   Masahiro Yamada   kbuild: refactor ...
27
28
  generic-y   := $(addprefix $(obj)/, $(generic-y))
  generated-y := $(addprefix $(obj)/, $(generated-y))
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
29

7d0e5c205   Masahiro Yamada   kbuild: refactor ...
30
31
32
  # Remove stale wrappers when the corresponding files are removed from generic-y
  old-headers := $(wildcard $(obj)/*.h)
  unwanted    := $(filter-out $(generic-y) $(generated-y),$(old-headers))
cda2c65f9   James Hogan   kbuild: Remove st...
33

d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
34
  quiet_cmd_wrap = WRAP    $@
7d0e5c205   Masahiro Yamada   kbuild: refactor ...
35
        cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
36

cda2c65f9   James Hogan   kbuild: Remove st...
37
  quiet_cmd_remove = REMOVE  $(unwanted)
7d0e5c205   Masahiro Yamada   kbuild: refactor ...
38
        cmd_remove = rm -f $(unwanted)
cda2c65f9   James Hogan   kbuild: Remove st...
39

7d0e5c205   Masahiro Yamada   kbuild: refactor ...
40
41
  all: $(generic-y)
  	$(if $(unwanted),$(call cmd,remove))
181e97632   Peter Foley   kbuild: silence N...
42
  	@:
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
43
44
45
  
  $(obj)/%.h:
  	$(call cmd,wrap)
cda2c65f9   James Hogan   kbuild: Remove st...
46

7d0e5c205   Masahiro Yamada   kbuild: refactor ...
47
48
49
50
51
  # Create output directory. Skip it if at least one old header exists
  # since we know the output directory already exists.
  ifeq ($(old-headers),)
  $(shell mkdir -p $(obj))
  endif
cda2c65f9   James Hogan   kbuild: Remove st...
52
  .PHONY: $(PHONY)