cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Makefile.asm-generic (1864B)


      1# SPDX-License-Identifier: GPL-2.0
      2# include/asm-generic contains a lot of files that are used
      3# verbatim by several architectures.
      4#
      5# This Makefile reads the file arch/$(SRCARCH)/include/(uapi/)/asm/Kbuild
      6# and for each file listed in this file with generic-y creates
      7# a small wrapper file in arch/$(SRCARCH)/include/generated/(uapi/)/asm.
      8
      9PHONY := all
     10all:
     11
     12src := $(subst /generated,,$(obj))
     13-include $(src)/Kbuild
     14
     15# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
     16ifneq ($(SRCARCH),um)
     17include $(srctree)/$(generic)/Kbuild
     18endif
     19
     20include $(srctree)/scripts/Kbuild.include
     21
     22redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
     23redundant += $(foreach f, $(generic-y), $(if $(wildcard $(srctree)/$(src)/$(f)),$(f)))
     24redundant := $(sort $(redundant))
     25$(if $(redundant),\
     26	$(warning redundant generic-y found in $(src)/Kbuild: $(redundant)))
     27
     28# If arch does not implement mandatory headers, fallback to asm-generic ones.
     29mandatory-y := $(filter-out $(generated-y), $(mandatory-y))
     30generic-y   += $(foreach f, $(mandatory-y), $(if $(wildcard $(srctree)/$(src)/$(f)),,$(f)))
     31
     32generic-y   := $(addprefix $(obj)/, $(generic-y))
     33generated-y := $(addprefix $(obj)/, $(generated-y))
     34
     35# Remove stale wrappers when the corresponding files are removed from generic-y
     36old-headers := $(wildcard $(obj)/*.h)
     37unwanted    := $(filter-out $(generic-y) $(generated-y),$(old-headers))
     38
     39quiet_cmd_wrap = WRAP    $@
     40      cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
     41
     42quiet_cmd_remove = REMOVE  $(unwanted)
     43      cmd_remove = rm -f $(unwanted)
     44
     45all: $(generic-y)
     46	$(if $(unwanted),$(call cmd,remove))
     47	@:
     48
     49$(obj)/%.h:
     50	$(call cmd,wrap)
     51
     52# Create output directory. Skip it if at least one old header exists
     53# since we know the output directory already exists.
     54ifeq ($(old-headers),)
     55$(shell mkdir -p $(obj))
     56endif
     57
     58.PHONY: $(PHONY)