diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.asm-generic | 23 | ||||
| -rw-r--r-- | scripts/Makefile.headersinst | 10 |
2 files changed, 32 insertions, 1 deletions
diff --git a/scripts/Makefile.asm-generic b/scripts/Makefile.asm-generic new file mode 100644 index 000000000000..a687cb697e35 --- /dev/null +++ b/scripts/Makefile.asm-generic | |||
| @@ -0,0 +1,23 @@ | |||
| 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 | |||
| 8 | kbuild-file := $(srctree)/arch/$(SRCARCH)/include/asm/Kbuild | ||
| 9 | include $(kbuild-file) | ||
| 10 | |||
| 11 | include scripts/Kbuild.include | ||
| 12 | |||
| 13 | # Create output directory if not already present | ||
| 14 | _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj)) | ||
| 15 | |||
| 16 | quiet_cmd_wrap = WRAP $@ | ||
| 17 | cmd_wrap = echo "\#include <asm-generic/$*.h>" >$@ | ||
| 18 | |||
| 19 | all: $(patsubst %, $(obj)/%, $(generic-y)) | ||
| 20 | |||
| 21 | $(obj)/%.h: | ||
| 22 | $(call cmd,wrap) | ||
| 23 | |||
diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst index f89cb87f5c01..a57f5bd5a13d 100644 --- a/scripts/Makefile.headersinst +++ b/scripts/Makefile.headersinst | |||
| @@ -27,8 +27,13 @@ header-y := $(filter-out %/, $(header-y)) | |||
| 27 | install-file := $(install)/.install | 27 | install-file := $(install)/.install |
| 28 | check-file := $(install)/.check | 28 | check-file := $(install)/.check |
| 29 | 29 | ||
| 30 | # generic-y list all files an architecture uses from asm-generic | ||
| 31 | # Use this to build a list of headers which require a wrapper | ||
| 32 | wrapper-files := $(filter $(header-y), $(generic-y)) | ||
| 33 | |||
| 30 | # all headers files for this dir | 34 | # all headers files for this dir |
| 31 | all-files := $(header-y) $(objhdr-y) | 35 | header-y := $(filter-out $(generic-y), $(header-y)) |
| 36 | all-files := $(header-y) $(objhdr-y) $(wrapper-files) | ||
| 32 | input-files := $(addprefix $(srctree)/$(obj)/,$(header-y)) \ | 37 | input-files := $(addprefix $(srctree)/$(obj)/,$(header-y)) \ |
| 33 | $(addprefix $(objtree)/$(obj)/,$(objhdr-y)) | 38 | $(addprefix $(objtree)/$(obj)/,$(objhdr-y)) |
| 34 | output-files := $(addprefix $(install)/, $(all-files)) | 39 | output-files := $(addprefix $(install)/, $(all-files)) |
| @@ -47,6 +52,9 @@ quiet_cmd_install = INSTALL $(printdir) ($(words $(all-files))\ | |||
| 47 | cmd_install = \ | 52 | cmd_install = \ |
| 48 | $(PERL) $< $(srctree)/$(obj) $(install) $(SRCARCH) $(header-y); \ | 53 | $(PERL) $< $(srctree)/$(obj) $(install) $(SRCARCH) $(header-y); \ |
| 49 | $(PERL) $< $(objtree)/$(obj) $(install) $(SRCARCH) $(objhdr-y); \ | 54 | $(PERL) $< $(objtree)/$(obj) $(install) $(SRCARCH) $(objhdr-y); \ |
| 55 | for F in $(wrapper-files); do \ | ||
| 56 | echo "\#include <asm-generic/$$F>" > $(install)/$$F; \ | ||
| 57 | done; \ | ||
| 50 | touch $@ | 58 | touch $@ |
| 51 | 59 | ||
| 52 | quiet_cmd_remove = REMOVE $(unwanted) | 60 | quiet_cmd_remove = REMOVE $(unwanted) |
