mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
kbuild: create .kernelrelease at *config step
To enable 'make kernelrelease' earlier now create .kernelrelease when one of the *config targets are used. Also introduce KERNELVERSION - only user is kconfig. KERNELVERSION was needed to display kernel version in menuconfig - KERNELRELEASE is not valid until configuration has completed. kconfig files modified to use KERNELVERSION. Bug reported by: Rene Rebe <rene@exactcode.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
296e0855b0
commit
2244cbd8a9
19
Makefile
19
Makefile
@ -338,8 +338,9 @@ AFLAGS := -D__ASSEMBLY__
|
|||||||
|
|
||||||
# Read KERNELRELEASE from .kernelrelease (if it exists)
|
# Read KERNELRELEASE from .kernelrelease (if it exists)
|
||||||
KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null)
|
KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null)
|
||||||
|
KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
||||||
|
|
||||||
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE \
|
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \
|
||||||
ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
|
ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
|
||||||
CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
|
CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
|
||||||
HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
|
HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
|
||||||
@ -434,6 +435,7 @@ export KBUILD_DEFCONFIG
|
|||||||
config %config: scripts_basic outputmakefile FORCE
|
config %config: scripts_basic outputmakefile FORCE
|
||||||
$(Q)mkdir -p include/linux
|
$(Q)mkdir -p include/linux
|
||||||
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
||||||
|
$(Q)$(MAKE) .kernelrelease
|
||||||
|
|
||||||
else
|
else
|
||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
@ -784,12 +786,10 @@ endif
|
|||||||
localver-full = $(localver)$(localver-auto)
|
localver-full = $(localver)$(localver-auto)
|
||||||
|
|
||||||
# Store (new) KERNELRELASE string in .kernelrelease
|
# Store (new) KERNELRELASE string in .kernelrelease
|
||||||
kernelrelease = \
|
kernelrelease = $(KERNELVERSION)$(localver-full)
|
||||||
$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(localver-full)
|
|
||||||
.kernelrelease: FORCE
|
.kernelrelease: FORCE
|
||||||
$(Q)rm -f .kernelrelease
|
$(Q)rm -f $@
|
||||||
$(Q)echo $(kernelrelease) > .kernelrelease
|
$(Q)echo $(kernelrelease) > $@
|
||||||
$(Q)echo " Building kernel $(kernelrelease)"
|
|
||||||
|
|
||||||
|
|
||||||
# Things we need to do before we recursively start building the kernel
|
# Things we need to do before we recursively start building the kernel
|
||||||
@ -899,7 +899,7 @@ define filechk_version.h
|
|||||||
)
|
)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
include/linux/version.h: $(srctree)/Makefile FORCE
|
include/linux/version.h: $(srctree)/Makefile .config FORCE
|
||||||
$(call filechk,version.h)
|
$(call filechk,version.h)
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
@ -1302,9 +1302,10 @@ checkstack:
|
|||||||
$(PERL) $(src)/scripts/checkstack.pl $(ARCH)
|
$(PERL) $(src)/scripts/checkstack.pl $(ARCH)
|
||||||
|
|
||||||
kernelrelease:
|
kernelrelease:
|
||||||
@echo $(KERNELRELEASE)
|
$(if $(wildcard .kernelrelease), $(Q)echo $(KERNELRELEASE), \
|
||||||
|
$(error kernelrelease not valid - run 'make *config' to update it))
|
||||||
kernelversion:
|
kernelversion:
|
||||||
@echo $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
@echo $(KERNELVERSION)
|
||||||
|
|
||||||
# FIXME Should go into a make.lib or something
|
# FIXME Should go into a make.lib or something
|
||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
|
@ -375,7 +375,7 @@ int conf_write(const char *name)
|
|||||||
if (!out_h)
|
if (!out_h)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
sym = sym_lookup("KERNELRELEASE", 0);
|
sym = sym_lookup("KERNELVERSION", 0);
|
||||||
sym_calc_value(sym);
|
sym_calc_value(sym);
|
||||||
time(&now);
|
time(&now);
|
||||||
env = getenv("KCONFIG_NOTIMESTAMP");
|
env = getenv("KCONFIG_NOTIMESTAMP");
|
||||||
|
@ -276,7 +276,7 @@ void init_main_window(const gchar * glade_file)
|
|||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
sprintf(title, _("Linux Kernel v%s Configuration"),
|
sprintf(title, _("Linux Kernel v%s Configuration"),
|
||||||
getenv("KERNELRELEASE"));
|
getenv("KERNELVERSION"));
|
||||||
gtk_window_set_title(GTK_WINDOW(main_wnd), title);
|
gtk_window_set_title(GTK_WINDOW(main_wnd), title);
|
||||||
|
|
||||||
gtk_widget_show(main_wnd);
|
gtk_widget_show(main_wnd);
|
||||||
|
@ -1051,7 +1051,7 @@ int main(int ac, char **av)
|
|||||||
conf_parse(av[1]);
|
conf_parse(av[1]);
|
||||||
conf_read(NULL);
|
conf_read(NULL);
|
||||||
|
|
||||||
sym = sym_lookup("KERNELRELEASE", 0);
|
sym = sym_lookup("KERNELVERSION", 0);
|
||||||
sym_calc_value(sym);
|
sym_calc_value(sym);
|
||||||
sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"),
|
sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"),
|
||||||
sym_get_string_value(sym));
|
sym_get_string_value(sym));
|
||||||
|
@ -61,10 +61,10 @@ void sym_init(void)
|
|||||||
if (p)
|
if (p)
|
||||||
sym_add_default(sym, p);
|
sym_add_default(sym, p);
|
||||||
|
|
||||||
sym = sym_lookup("KERNELRELEASE", 0);
|
sym = sym_lookup("KERNELVERSION", 0);
|
||||||
sym->type = S_STRING;
|
sym->type = S_STRING;
|
||||||
sym->flags |= SYMBOL_AUTO;
|
sym->flags |= SYMBOL_AUTO;
|
||||||
p = getenv("KERNELRELEASE");
|
p = getenv("KERNELVERSION");
|
||||||
if (p)
|
if (p)
|
||||||
sym_add_default(sym, p);
|
sym_add_default(sym, p);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user