diff options
author | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-01-16 06:12:12 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-01-16 06:12:12 -0500 |
commit | 2244cbd8a9185c197ec5ba5de175aec288697223 (patch) | |
tree | b5319213e8e1b80a2079e45d40aa761c7af39136 | |
parent | 296e0855b0f9a4ec9be17106ac541745a55b2ce1 (diff) |
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>
-rw-r--r-- | Makefile | 19 | ||||
-rw-r--r-- | scripts/kconfig/confdata.c | 2 | ||||
-rw-r--r-- | scripts/kconfig/gconf.c | 2 | ||||
-rw-r--r-- | scripts/kconfig/mconf.c | 2 | ||||
-rw-r--r-- | scripts/kconfig/symbol.c | 4 |
5 files changed, 15 insertions, 14 deletions
@@ -338,8 +338,9 @@ AFLAGS := -D__ASSEMBLY__ | |||
338 | 338 | ||
339 | # Read KERNELRELEASE from .kernelrelease (if it exists) | 339 | # Read KERNELRELEASE from .kernelrelease (if it exists) |
340 | KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null) | 340 | KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null) |
341 | KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) | ||
341 | 342 | ||
342 | export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE \ | 343 | export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \ |
343 | ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ | 344 | ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ |
344 | CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \ | 345 | CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \ |
345 | HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS | 346 | HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS |
@@ -434,6 +435,7 @@ export KBUILD_DEFCONFIG | |||
434 | config %config: scripts_basic outputmakefile FORCE | 435 | config %config: scripts_basic outputmakefile FORCE |
435 | $(Q)mkdir -p include/linux | 436 | $(Q)mkdir -p include/linux |
436 | $(Q)$(MAKE) $(build)=scripts/kconfig $@ | 437 | $(Q)$(MAKE) $(build)=scripts/kconfig $@ |
438 | $(Q)$(MAKE) .kernelrelease | ||
437 | 439 | ||
438 | else | 440 | else |
439 | # =========================================================================== | 441 | # =========================================================================== |
@@ -784,12 +786,10 @@ endif | |||
784 | localver-full = $(localver)$(localver-auto) | 786 | localver-full = $(localver)$(localver-auto) |
785 | 787 | ||
786 | # Store (new) KERNELRELASE string in .kernelrelease | 788 | # Store (new) KERNELRELASE string in .kernelrelease |
787 | kernelrelease = \ | 789 | kernelrelease = $(KERNELVERSION)$(localver-full) |
788 | $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(localver-full) | ||
789 | .kernelrelease: FORCE | 790 | .kernelrelease: FORCE |
790 | $(Q)rm -f .kernelrelease | 791 | $(Q)rm -f $@ |
791 | $(Q)echo $(kernelrelease) > .kernelrelease | 792 | $(Q)echo $(kernelrelease) > $@ |
792 | $(Q)echo " Building kernel $(kernelrelease)" | ||
793 | 793 | ||
794 | 794 | ||
795 | # Things we need to do before we recursively start building the kernel | 795 | # Things we need to do before we recursively start building the kernel |
@@ -899,7 +899,7 @@ define filechk_version.h | |||
899 | ) | 899 | ) |
900 | endef | 900 | endef |
901 | 901 | ||
902 | include/linux/version.h: $(srctree)/Makefile FORCE | 902 | include/linux/version.h: $(srctree)/Makefile .config FORCE |
903 | $(call filechk,version.h) | 903 | $(call filechk,version.h) |
904 | 904 | ||
905 | # --------------------------------------------------------------------------- | 905 | # --------------------------------------------------------------------------- |
@@ -1302,9 +1302,10 @@ checkstack: | |||
1302 | $(PERL) $(src)/scripts/checkstack.pl $(ARCH) | 1302 | $(PERL) $(src)/scripts/checkstack.pl $(ARCH) |
1303 | 1303 | ||
1304 | kernelrelease: | 1304 | kernelrelease: |
1305 | @echo $(KERNELRELEASE) | 1305 | $(if $(wildcard .kernelrelease), $(Q)echo $(KERNELRELEASE), \ |
1306 | $(error kernelrelease not valid - run 'make *config' to update it)) | ||
1306 | kernelversion: | 1307 | kernelversion: |
1307 | @echo $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) | 1308 | @echo $(KERNELVERSION) |
1308 | 1309 | ||
1309 | # FIXME Should go into a make.lib or something | 1310 | # FIXME Should go into a make.lib or something |
1310 | # =========================================================================== | 1311 | # =========================================================================== |
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index ccd45130c482..b0cbbe2e41bb 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c | |||
@@ -375,7 +375,7 @@ int conf_write(const char *name) | |||
375 | if (!out_h) | 375 | if (!out_h) |
376 | return 1; | 376 | return 1; |
377 | } | 377 | } |
378 | sym = sym_lookup("KERNELRELEASE", 0); | 378 | sym = sym_lookup("KERNELVERSION", 0); |
379 | sym_calc_value(sym); | 379 | sym_calc_value(sym); |
380 | time(&now); | 380 | time(&now); |
381 | env = getenv("KCONFIG_NOTIMESTAMP"); | 381 | env = getenv("KCONFIG_NOTIMESTAMP"); |
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c index 9f5aabd58fa9..665bd5300a19 100644 --- a/scripts/kconfig/gconf.c +++ b/scripts/kconfig/gconf.c | |||
@@ -276,7 +276,7 @@ void init_main_window(const gchar * glade_file) | |||
276 | NULL); | 276 | NULL); |
277 | 277 | ||
278 | sprintf(title, _("Linux Kernel v%s Configuration"), | 278 | sprintf(title, _("Linux Kernel v%s Configuration"), |
279 | getenv("KERNELRELEASE")); | 279 | getenv("KERNELVERSION")); |
280 | gtk_window_set_title(GTK_WINDOW(main_wnd), title); | 280 | gtk_window_set_title(GTK_WINDOW(main_wnd), title); |
281 | 281 | ||
282 | gtk_widget_show(main_wnd); | 282 | gtk_widget_show(main_wnd); |
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index d63d7fb677e4..7f973195e79a 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c | |||
@@ -1051,7 +1051,7 @@ int main(int ac, char **av) | |||
1051 | conf_parse(av[1]); | 1051 | conf_parse(av[1]); |
1052 | conf_read(NULL); | 1052 | conf_read(NULL); |
1053 | 1053 | ||
1054 | sym = sym_lookup("KERNELRELEASE", 0); | 1054 | sym = sym_lookup("KERNELVERSION", 0); |
1055 | sym_calc_value(sym); | 1055 | sym_calc_value(sym); |
1056 | sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"), | 1056 | sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"), |
1057 | sym_get_string_value(sym)); | 1057 | sym_get_string_value(sym)); |
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index 69c2549c0baa..3d7877afccd5 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c | |||
@@ -61,10 +61,10 @@ void sym_init(void) | |||
61 | if (p) | 61 | if (p) |
62 | sym_add_default(sym, p); | 62 | sym_add_default(sym, p); |
63 | 63 | ||
64 | sym = sym_lookup("KERNELRELEASE", 0); | 64 | sym = sym_lookup("KERNELVERSION", 0); |
65 | sym->type = S_STRING; | 65 | sym->type = S_STRING; |
66 | sym->flags |= SYMBOL_AUTO; | 66 | sym->flags |= SYMBOL_AUTO; |
67 | p = getenv("KERNELRELEASE"); | 67 | p = getenv("KERNELVERSION"); |
68 | if (p) | 68 | if (p) |
69 | sym_add_default(sym, p); | 69 | sym_add_default(sym, p); |
70 | 70 | ||