Blame view

scripts/Makefile.asm-generic 1.82 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
  # $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
  ifneq ($(SRCARCH),um)
3204a7fb9   Masahiro Yamada   kbuild: prefix $(...
16
  include $(srctree)/$(generic)/Kbuild
037fc3368   Masahiro Yamada   kbuild: force all...
17
  endif
3204a7fb9   Masahiro Yamada   kbuild: prefix $(...
18
  include $(srctree)/scripts/Kbuild.include
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
19

7cbbbb8bc   Masahiro Yamada   kbuild: warn redu...
20
21
22
23
24
  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 ...
25
26
27
  # 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 ...
28
29
  generic-y   := $(addprefix $(obj)/, $(generic-y))
  generated-y := $(addprefix $(obj)/, $(generated-y))
d8ecc5cd8   Sam Ravnborg   kbuild: asm-gener...
30

7d0e5c205   Masahiro Yamada   kbuild: refactor ...
31
32
33
  # 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...
34

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

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

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

7d0e5c205   Masahiro Yamada   kbuild: refactor ...
48
49
50
51
52
  # 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...
53
  .PHONY: $(PHONY)