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