kbuild: move asm-offsets.h rule to ./Kbuild
Currently, MIPS is the only architecture that needs include/generated/asm-offsets.h, but we have got ./Kbuild file now. It is a good reason to move asm-offsets.h rule from arch/mips/Makefile to ./Kbuild and add dummy asm-offsets.c for the other architectures. asm-offsets.h would be useful for all the architectures. This commit does not implement include/generated/bounds.h, but if necessary, it is easy to implement it. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
549f04b9c9
commit
d6d28acee0
45
Kbuild
45
Kbuild
|
@ -1,2 +1,43 @@
|
||||||
# This does nothing, but some (dummy) comments here.
|
#####
|
||||||
# If this file gets empty, it is removed by "make distclean".
|
# 1) Generate asm-offsets.h
|
||||||
|
#
|
||||||
|
|
||||||
|
offsets-file := include/generated/asm-offsets.h
|
||||||
|
|
||||||
|
always += $(offsets-file)
|
||||||
|
targets += $(offsets-file)
|
||||||
|
targets += arch/$(SRCARCH)/lib/asm-offsets.s
|
||||||
|
|
||||||
|
|
||||||
|
# Default sed regexp - multiline due to syntax constraints
|
||||||
|
define sed-y
|
||||||
|
"/^->/{s:->#\(.*\):/* \1 */:; \
|
||||||
|
s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
|
||||||
|
s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
|
||||||
|
s:->::; p;}"
|
||||||
|
endef
|
||||||
|
|
||||||
|
quiet_cmd_offsets = GEN $@
|
||||||
|
define cmd_offsets
|
||||||
|
(set -e; \
|
||||||
|
echo "#ifndef __ASM_OFFSETS_H__"; \
|
||||||
|
echo "#define __ASM_OFFSETS_H__"; \
|
||||||
|
echo "/*"; \
|
||||||
|
echo " * DO NOT MODIFY."; \
|
||||||
|
echo " *"; \
|
||||||
|
echo " * This file was generated by Kbuild"; \
|
||||||
|
echo " *"; \
|
||||||
|
echo " */"; \
|
||||||
|
echo ""; \
|
||||||
|
sed -ne $(sed-y) $<; \
|
||||||
|
echo ""; \
|
||||||
|
echo "#endif" ) > $@
|
||||||
|
endef
|
||||||
|
|
||||||
|
# We use internal kbuild rules to avoid the "is up to date" message from make
|
||||||
|
arch/$(SRCARCH)/lib/asm-offsets.s: arch/$(SRCARCH)/lib/asm-offsets.c FORCE
|
||||||
|
$(Q)mkdir -p $(dir $@)
|
||||||
|
$(call if_changed_dep,cc_s_c)
|
||||||
|
|
||||||
|
$(obj)/$(offsets-file): arch/$(SRCARCH)/lib/asm-offsets.s Kbuild
|
||||||
|
$(call cmd,offsets)
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
/*
|
||||||
|
* Generate definitions needed by assembly language modules.
|
||||||
|
* This code generates raw asm output which is post-processed to extract
|
||||||
|
* and format the required data.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
/*
|
||||||
|
* generate definitions needed by assembly language modules
|
||||||
|
*
|
||||||
|
* Licensed under the GPL-2 or later
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
/*
|
||||||
|
* Generate definitions needed by assembly language modules.
|
||||||
|
* This code generates raw asm output which is post-processed to extract
|
||||||
|
* and format the required data.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -148,46 +148,3 @@ dts := arch/mips/dts
|
||||||
$(Q)$(MAKE) $(build)=$(dts) $(dts)/$@
|
$(Q)$(MAKE) $(build)=$(dts) $(dts)/$@
|
||||||
|
|
||||||
KBUILD_IMAGE ?= $(KBUILD_BINARY)
|
KBUILD_IMAGE ?= $(KBUILD_BINARY)
|
||||||
|
|
||||||
#####
|
|
||||||
# Generate asm-offsets.h
|
|
||||||
#
|
|
||||||
|
|
||||||
offsets-file := include/generated/asm-offsets.h
|
|
||||||
|
|
||||||
always += $(offsets-file)
|
|
||||||
targets += $(offsets-file)
|
|
||||||
targets += arch/$(SRCARCH)/lib/asm-offsets.s
|
|
||||||
|
|
||||||
# Default sed regexp - multiline due to syntax constraints
|
|
||||||
define sed-y
|
|
||||||
"/^->/{s:->#\(.*\):/* \1 */:; \
|
|
||||||
s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
|
|
||||||
s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
|
|
||||||
s:->::; p;}"
|
|
||||||
endef
|
|
||||||
|
|
||||||
quiet_cmd_offsets = GEN $@
|
|
||||||
define cmd_offsets
|
|
||||||
(set -e; \
|
|
||||||
echo "#ifndef __ASM_OFFSETS_H__"; \
|
|
||||||
echo "#define __ASM_OFFSETS_H__"; \
|
|
||||||
echo "/*"; \
|
|
||||||
echo " * DO NOT MODIFY."; \
|
|
||||||
echo " *"; \
|
|
||||||
echo " * This file was generated by Kbuild"; \
|
|
||||||
echo " *"; \
|
|
||||||
echo " */"; \
|
|
||||||
echo ""; \
|
|
||||||
sed -ne $(sed-y) $<; \
|
|
||||||
echo ""; \
|
|
||||||
echo "#endif" ) > $@
|
|
||||||
endef
|
|
||||||
|
|
||||||
# We use internal kbuild rules to avoid the "is up to date" message from make
|
|
||||||
arch/$(SRCARCH)/lib/asm-offsets.s: arch/$(SRCARCH)/lib/asm-offsets.c FORCE
|
|
||||||
$(Q)mkdir -p $(dir $@)
|
|
||||||
$(call if_changed_dep,cc_s_c)
|
|
||||||
|
|
||||||
$(obj)/$(offsets-file): arch/$(SRCARCH)/lib/asm-offsets.s Makefile
|
|
||||||
$(call cmd,offsets)
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
/*
|
||||||
|
* OpenRISC asm-offsets.c
|
||||||
|
*
|
||||||
|
* This program is used to generate definitions needed by
|
||||||
|
* assembly language modules.
|
||||||
|
*
|
||||||
|
* We use the technique used in the OSF Mach kernel code:
|
||||||
|
* generate asm statements containing #defines,
|
||||||
|
* compile this file to assembler, and then extract the
|
||||||
|
* #defines from the assembly-language output.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This program is used to generate definitions needed by
|
||||||
|
* assembly language modules.
|
||||||
|
*
|
||||||
|
* We use the technique used in the OSF Mach kernel code:
|
||||||
|
* generate asm statements containing #defines,
|
||||||
|
* compile this file to assembler, and then extract the
|
||||||
|
* #defines from the assembly-language output.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version
|
||||||
|
* 2 of the License, or (at your option) any later version.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
/*
|
||||||
|
* Generate definitions needed by assembly language modules.
|
||||||
|
* This code generates raw asm output which is post-processed to extract
|
||||||
|
* and format the required data.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
/*
|
||||||
|
* Generate definitions needed by assembly language modules.
|
||||||
|
* This code generates raw asm output which is post-processed to extract
|
||||||
|
* and format the required data.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kbuild.h>
|
||||||
|
|
||||||
|
void common(void)
|
||||||
|
{
|
||||||
|
}
|
Loading…
Reference in New Issue