CML2 seems to be unnecessary in kbuild-2.5. It's good to have CML2-supporting code in the archive, but it's not really needed for current versions.
Keith: Do you have any plan on how to split kbuild-2.5 up in "manageable pieces" Linus likes? Haven't really looked closely at the code, but could the new-style Makefiles.in somewhat "easily" be transformed to the previous per-directory Makefiles? Then one big advantage of kbuild-2.5, the new _easier_ Makefile-syntax with its Makefile.in files, could be merged first. Dominik
--- linux/Makefile-2.5.original Fri May 24 01:27:05 2002
+++ linux/Makefile-2.5 Fri May 24 09:30:27 2002
@@ -84,9 +84,6 @@
KBUILD_TIME := # \time -f "%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k"
export KBUILD_TIME
-# The default version of CML to use.
-KBUILD_CML := 1
-
# CDPATH gets in the way by writing messages when the directory could be
# ambiguous. We know better, directories in kbuild are never ambiguous.
CDPATH :=
--- linux/Makefile.in.original Fri May 24 09:25:09 2002
+++ linux/Makefile.in Fri May 24 09:26:13 2002
@@ -260,10 +260,6 @@
# it to $(KERNELRELEASE), that can contain upper case words which must be left
# alone.
-# If CML2 consistently handles ${VARIABLE} then remove uppercasetovar, but you
-# still have to eval the strings to expand them when we want them expanded.
-# Also the strings are quoted, eval gets rid of the quotes.
-
uppercasetovar := sed -e 's/\([^A-Za-z0-9_]\)/:\1:/g;
s/:\([A-Z][A-Z0-9_]*\):/:$${\1}:/g; s/:\([^A-Za-z0-9_]\):/\1/g'
# Evaluate the install variables, replacing upper case strings with variables.
--- linux/scripts/Makefile-2.5.original Fri May 24 09:21:32 2002
+++ linux/scripts/Makefile-2.5 Fri May 24 09:23:27 2002
@@ -498,7 +498,7 @@
# compilation without having to rewrite the config code.
# The CML1 config utilities expect to read [Cc]onfig.in files from a single
-# source tree, CML2 does the same for .cml files. However the [Cc]onfig.in/.cml
+# source tree, However the [Cc]onfig.in/.cml
# files could be spread over several input trees and could even be generated in
# the object tree. Build a tree of symlinks under .tmp_config/links, pointing
# to the relevant location for each config file, plus Configure.help,
@@ -513,9 +513,6 @@
tmp_config_links := $(tmp_config)links/
export tmp_config_links
tmp_config_files := .config .config.old .force_default include/linux/autoconf.h
-ifeq ($(KBUILD_CML),2)
- tmp_config_files += config.out rules.out rules-2.5.cml
-endif
MRPROPER += $(tmp_config_files)
tmp_config_copyout := cd $(KBUILD_OBJTREE) && \
echo $(tmp_config_files) | \
@@ -529,9 +526,6 @@
lxdialog-objtree := $(scripts_objtree)lxdialog/
split_config := $(scripts_objtree)split-include
$(KBUILD_OBJTREE)include/linux/autoconf.h $(KBUILD_OBJTREE)config_settings
-# Start of CML1 code
-ifeq ($(KBUILD_CML),1)
-
# Add the 2.5 options to the end of the config. Some CML1 code cannot handle
# source arch/$(ARCH)/boot/config.in for the installation menu, no variable
# expansion on the source command. Symlinks to the rescue (again).
@@ -722,250 +716,6 @@
@$(note_cml_inputs)
endif # second_pass
-endif
-# End of CML1 code
-
-# Start of CML2 code
-ifeq ($(KBUILD_CML),2)
-
-cml_inputs := egrep '(defconfig|Config(ure)?\.help|\.cml |\.py ).* s 1 '
$(KBUILD_OBJTREE).tmp_filelist | grep -v '^/rules-2.5.cml'
-note_cml_inputs := $(cml_inputs) > $(KBUILD_OBJTREE).tmp_cml_inputs
-
-# Create and/or read the extra cml2 files required for kbuild 2.5. Most of the
-# '-2.5' files will disappear after the code is in the main kernel tree, the
-# files are compatibility glue with cml2 for 2.4.
-
-# Yeuch. $(tmp_config_links) is carefully defined with a trailing / for
-# consistency with the rest of kbuild. make assigns $@ _without_ the trailing
-# '/'.
-
-$(tmp_config_links): $(KBUILD_OBJTREE).tmp_filelist
- @rm -rf $@
- @cd $(KBUILD_OBJTREE)
- @mkdir -p $(KBUILD_OBJTREE)include/linux $@/include/linux
- @cd $@ && \
- ( \
- $(cml_inputs) | $(AWK) '{sub(/[^\/]*$$/, "", $$1); print "mkdir -p ."
$$1}' && \
- $(cml_inputs) | $(AWK) '{print "ln -sf " $$2 " ." $$1}' \
- ) | $(KBUILD_SHELL)
- @$(tmp_config_copyout)
-# Arch independent rules-2.5.cml header
- @( \
- echo "# Generated by scripts/Makefile-2.5. Do not edit."; \
- echo ""; \
- echo "derive KBUILD_2_5 from y"; \
- echo "derive Y from y"; \
- echo "derive M from MODULES==y ? m : y"; \
- echo "derive KBUILD_GCC_VERSION from \"$(gcc_version)\""; \
- echo "derive KBUILD_CRITICAL from \"CONFIG_SMP CONFIG_KBUILD_GCC_VERSION\"";
\
- echo ""; \
- echo "source \"symbols-2.5.cml\""; \
- echo ""; \
- echo "source \"rules.cml\""; \
- echo ""; \
- echo "menu main"; \
- echo " addon"; \
- echo " installation"; \
- ) > $@/.tmp_rules-2.5.cml
-# Arch independent rules-2.5.cml kludge.
- @( \
- echo ""; \
- echo "# To solve the problem of the various install formats appearing on
multiple arch"; \
- echo "# dependent menus (which breaks some assumptions in CML2), ESR
suggested using"; \
- echo "# private variables in each architecture and deriving the install
format from"; \
- echo "# all the private variables. The derive statements below must be
changed for"; \
- echo "# each new architecture that is sourced."; \
- echo "#"; \
- echo "# The private variables point to common help text like VMLINUX_help,
using the"; \
- echo "# 'like' keyword introduced in CML2 1.9.11. The help variables cannot
be"; \
- echo "# vmlinux etc. themselves, CML2 complains if a variable has help text
and is"; \
- echo "# derived, so we need separate _help variables. Alas CML2 then
complains that"; \
- echo "# the _help variables do not appear on a menu, so put them on a menu
and always"; \
- echo "# suppress the menu."; \
- echo "#"; \
- echo "# I am a kludge, I am a kludge, I am the walrus, coo coo ca choo."; \
- echo "#"; \
- echo "# It would be so much easier if CML2 allowed multiple uses of the same
variable"; \
- echo "# and required that only one occurrence was visible at once. KAO"; \
- echo ""; \
- echo "menus hide_the_cml2_help_variables \"Do not use this menu, it is a
hiding place for the help variables (kludge)\""; \
- echo "menu hide_the_cml2_help_variables"; \
- echo " VMLINUX_help"; \
- echo " VMLINUZ_help"; \
- echo " BZIMAGE_help"; \
- echo " ZIMAGE_help"; \
- echo " VMLINUX_SREC_help"; \
- echo " VMLINUX_BIN_help"; \
- echo "menu main"; \
- echo " hide_the_cml2_help_variables"; \
- echo "unless n suppress hide_the_cml2_help_variables"; \
- ) >> $@/.tmp_rules-2.5.cml
-# Arch dependent global rules-2.5.cml code, change for each new architecture. See
above.
- @( \
- echo ""; \
- echo "source \"arch/i386/boot/rules-2.5.cml\""; \
- echo ""; \
- echo "derive VMLINUX from VMLINUX_X86"; \
- echo "derive VMLINUZ from VMLINUZ_X86"; \
- echo "derive BZIMAGE from BZIMAGE_X86"; \
- echo "derive ZIMAGE from ZIMAGE_X86"; \
- echo "derive VMLINUX_SREC from n"; \
- echo "derive VMLINUX_BIN from n"; \
- ) >> $@/.tmp_rules-2.5.cml
-# Arch independent rules-2.5.cml trailer
- @( \
- echo ""; \
- echo "# The arch specific entries in menu installation are created by the
arch rules,"; \
- echo "# now add the common entries."; \
- echo ""; \
- echo "menu installation"; \
- echo " INSTALL_PREFIX {INSTALL_PREFIX_NAME$$}"; \
- echo " INSTALL_KERNEL_NAME$$"; \
- echo " INSTALL_SYSTEM_MAP {INSTALL_SYSTEM_MAP_NAME$$}"; \
- echo " INSTALL_CONFIG {INSTALL_CONFIG_NAME$$}"; \
- echo " INSTALL_VMLINUX {INSTALL_VMLINUX_NAME$$}"; \
- echo " INSTALL_SCRIPT {INSTALL_SCRIPT_NAME$$}"; \
- echo ""; \
- echo "default INSTALL_PREFIX_NAME from \"\""; \
- echo "default INSTALL_KERNEL_NAME from
\"/lib/modules/KERNELRELEASE/KERNELBASENAME\""; \
- echo "default INSTALL_SYSTEM_MAP_NAME from
\"/lib/modules/KERNELRELEASE/System.map\""; \
- echo "default INSTALL_CONFIG_NAME from
\"/lib/modules/KERNELRELEASE/.config\""; \
- echo "default INSTALL_VMLINUX_NAME from
\"/lib/modules/KERNELRELEASE/vmlinux\""; \
- echo "default INSTALL_SCRIPT_NAME from \"\""; \
- echo "unless VMLINUX!=y suppress INSTALL_VMLINUX"; \
- ) >> $@/.tmp_rules-2.5.cml
- @cmp -s $@/.tmp_rules-2.5.cml $@/rules-2.5.cml || mv -f $@/.tmp_rules-2.5.cml
$@/rules-2.5.cml
-
-archsymbol := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/sparc$$/sparc32/ -e
s/mips$$/mips32/ | tr "[a-z]" "[A-Z]")
-cmlopts := -D$(archsymbol) -B $(KERNELRELEASE) $(CONFIGOPTS) rules.out
-PYTHON2 := $(shell $(KBUILD_SHELL) $(scripts_srctree)kwhich python2
python)
-cmlconfigure := cd $(tmp_config_links) && $(PYTHON2) -O scripts/cmlconfigure.py
-cml.config := cd $(tmp_config_links) && $(PYTHON2) -O scripts/configtrans.py -h
include/linux/autoconf.h -s .config config.out && touch config.out
-
-# Rebuild rules.out if any of the cml_input timestamps have changed, or if
-# rules.out is older than the generated rules-2.5.cml.
-
-$(tmp_config_links)rules.out: $(KBUILD_OBJTREE).tmp_filelist $(tmp_config_links)
- @grep '^KMOD.*text$$' $(tmp_config_links)symbols.cml > /dev/null || \
- (echo "symbols.cml is incorrect, did you install the CML2 files and run
helpmerge.py?" >&2; /bin/false)
- @$(cml_inputs) > $(KBUILD_OBJTREE).tmp_rules.out_new
- @[ -s $@ ] || rm -f $(KBUILD_OBJTREE).tmp_rules.out
- @[ $(tmp_config_links)rules-2.5.cml -ot $@ ] || rm -f
$(KBUILD_OBJTREE).tmp_rules.out
- @cmp -s $(KBUILD_OBJTREE).tmp_rules.out_new $(KBUILD_OBJTREE).tmp_rules.out ||
\
- (cd $(tmp_config_links); $(PYTHON2) -O scripts/cmlcompile.py rules-2.5.cml
&& \
- cp -f rules.out $(KBUILD_OBJTREE) && \
- mv -f $(KBUILD_OBJTREE).tmp_rules.out_new
$(KBUILD_OBJTREE).tmp_rules.out)
-
-# Some users will edit .config instead of config.out and will be confused if the
-# change is not detected. Until we can get rid of .config, check which of the
-# two files is more recent. This is why $(cml.config) touches config.out after
-# generating .config, to make config.out the more recent file. KAO
-
-.PHONY: create_config_out
-create_config_out: $(tmp_config_links)rules.out
- @cd $(tmp_config_links); \
- [ -s .config -o -s config.out ] || \
- (cp -f arch/$(ARCH)/defconfig .config && echo "Copying defconfig to
.config")
- @cd $(tmp_config_links); \
- [ -s .config -o ! -s config.out ] || \
- (cp -f -a config.out .config && echo "Copying config.out to .config")
- @cd $(tmp_config_links); \
- if [ -e .config -a -e config.out -a .config -nt config.out ]; then \
- echo "Warning: .config is newer than config.out, should not happen" >&2; \
- echo " Changing .config is deprecated in CML2, edit config.out
instead" >&2; \
- rm config.out; \
- fi
- @cd $(tmp_config_links); \
- [ ! -s .config -o -s config.out ] || \
- (scripts/configtrans.py -t < .config > config.out && echo "Using .config")
-
-# Invoke `best available' front-end for the current display environment.
-# Prefers X, then curses, falls back to line-oriented if neither is available.
-config: create_config_out
- $(KBUILD_QUIET)$(cmlconfigure) -i config.out $(cmlopts)
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# Line-oriented front end. Useful mainly for ruleset debugging.
-ttyconfig: create_config_out
- $(KBUILD_QUIET)$(cmlconfigure) -t -i config.out $(cmlopts)
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# Screen-oriented front end using curses.
-menuconfig: create_config_out
- $(KBUILD_QUIET)$(cmlconfigure) -c -i config.out $(cmlopts)
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# Original X front end.
-xconfig: create_config_out
- $(KBUILD_QUIET)$(cmlconfigure) -x -i config.out $(cmlopts)
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# Alternate X front end using a tree widget.
-treeconfig: create_config_out
- $(KBUILD_QUIET)$(cmlconfigure) -q -i config.out $(cmlopts)
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# Update configuration. Symbols set in your existing config will be frozen.
-oldconfig: create_config_out
- $(KBUILD_QUIET)$(cmlconfigure) -t -B $(KERNELRELEASE) -I config.out
$(CONFIGOPTS) rules.out
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# Create a default configuration for the specified architecture.
-defconfig: create_config_out
- $(KBUILD_QUIET)yes '' | ($(cmlconfigure) -t -B $(KERNELRELEASE) -I config.out
$(CONFIGOPTS) rules.out)
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# CML2 Adventure.
-advent: create_config_out
- cd $(tmp_config_links); $(PYTHON2) -O scripts/cmladvent.py -t -D$(ARCHSYMBOL)
-B $(KERNELRELEASE) -I config.out $(CONFIGOPTS) rules.out
- $(KBUILD_QUIET)$(cml.config)
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-# Generate a map of the configuration menus.
-$(scripts_objtree)menu-map: $(tmp_config_links)rules.out
- $(KBUILD_QUIET)$(cmlconfigure) -l $(CONFIGOPTS) rules.out > $@ 2>&1
- @$(tmp_config_copyback)
- @$(split_config)
- @$(note_cml_inputs)
-
-CLEAN += scripts/*.py[co]
-
-# CML2 documentation -- these require docbook-tools and jade.
-# FIXME: Commented out for now, cml2-paper does not exist, cml2-reference is in
-# Documentation/kbuild, not here. Add support for this later. KAO
-#
-#cml2-paper.html: cml2-paper.sgml
-# docbook2html --nochunks cml2-paper.sgml >cml2-paper.html
-#
-#cml2-reference.html: cml2-reference.sgml
-# docbook2html --nochunks cml2-reference.sgml >cml2-reference.html
-
-
-endif
-# End of CML2 code
# The patch command does not set execute permission on scripts, which is a big
# nuisance. A tar ball will have the correct permissions in the source tree, a
@@ -1173,7 +923,7 @@
# otherwise you will get some generated files in the symlink forest.
# ' s 1 ' selects primary source files, i.e. the master copy. Only use source
-# files that are marked "shadow_source'.
+# files that are marked "shadow_source".
# FIXME: The for loop adds entries for the generated files that are incorrectly
# shipped in the kernel tarball, to prevent them looking like spurious
--- linux/symbols-2.5.cml.original Fri May 24 09:09:48 2002
+++ /dev/null Sat May 12 19:23:16 2001
@@ -1,176 +0,0 @@
-# Additional symbols for kbuild 2.5, merge with the main list later.
-
-symbols
-VMLINUX_help 'vmlinux' text
-This is the raw format that is produced by the kernel build. It is
-required to use any of the various source debugging tools on the kernel
-itself and is the only bootable format on some architectures. It is
-generally too large to be used otherwise.
-
-Note that the `vmlinux' format is produced by ALL compilations, either
-as the target step, or as an intermediate step in the production of one
-of the other formats.
-.
-VMLINUZ_help 'vmlinuz' text
-vmlinux after being stripped to remove debugging information then
-compressed using gzip. This is still the same basic format as vmlinux,
-just smaller.
-.
-ZIMAGE_help 'zImage' text
-This is the result of running the vmlinux format kernel through `gzip
--9` to produce a much compressed version of the same, then adding a old
-style ix86 boot routine.
-
-This format can only boot if the resultant image is less than 508k in
-size. As a result, it is of little use with recent kernels. Only use
-zImage if your hardware will not boot with bzImage, and only after a
-kernel hacker says to use zImage. This format may be removed.
-.
-BZIMAGE_help 'bzImage' text
-This is the result of running the vmlinux format kernel through `gzip
--9` but it has a newer ix86 boot routine that can handle kernels whose
-compressed size exceeds 508k. In theory, the boot routine can handle
-kernel image files up to 15M in size, but this limit has not yet been
-tested.
-
-Note that bzImage format does NOT use the `bzip' or `bzip2' compression
-programs, as some have suggested.
-.
-VMLINUX_SREC_help 'vmlinux.srec' text
-This is the vmlinux file converted to Motorola S-Record format, often
-required for transferring the kernel to boot loaders on embedded
-systems.
-.
-VMLINUX_BIN_help 'vmlinux.bin' text
-This is the raw kernel image in binary format -- an exact copy of which
-is loaded into memory before booting. This is used for primitive
-bootloaders on embedded systems, which cannot understand ELF or SREC
-images, or when the kernel is to reside in flash and be executed
-directly.
-.
-
-INSTALL_PREFIX 'Use a prefix on install paths' text
-If you want to copy the installed kernel and modules to another machine
-or you are installing on another disk on this machine, you can set a
-prefix on the install paths. To install in the standard locations on
-the current machine, do not set an install prefix. Most users will
-want N.
-.
-INSTALL_PREFIX_NAME 'Prefix for install paths' text
-This string is prefixed to all the paths when installing the kernel and
-modules. If you want to copy the installed kernel and modules to
-another machine or another disk, use the install prefix to point to
-another directory, say "/var/tmp". The target directories will be
-created under this prefix, if necessary.
-
-Modules are always installed in
-CONFIG_INSTALL_PREFIX_NAME/lib/modules/KERNELRELEASE.
-
-Any words in the path that start with an upper case letter and consist
-only of upper case letters, '_' and digits are replaced by the value of
-the corresponding variable. This includes KERNELRELEASE, VERSION,
-PATCHLEVEL, SUBLEVEL, EXTRAVERSION, USERVERSION, KBUILD_SRCTREE_nnn.
-.
-INSTALL_KERNEL_NAME 'Where to install the kernel' text
-Specifies which file name the kernel will be installed under. If your
-boot loader requires the kernel to be in a specific directory or in a
-specific area of the disk then follow the loader instructions.
-Otherwise follow the standard for your distribution, or your own
-preference. The path will be prefixed by CONFIG_INSTALL_PREFIX.
-
-Any words in the path that start with an upper case letter and consist
-only of upper case letters, '_' and digits are replaced by the value of
-the corresponding variable. This includes KERNELRELEASE, VERSION,
-PATCHLEVEL, SUBLEVEL, EXTRAVERSION, USERVERSION, KBUILD_SRCTREE_nnn.
-KERNELFULLNAME and KERNELBASENAME are set to the full name (relative
-to the object directory) and the base name of the kernel respectively.
-
-Examples: /boot/efi/KERNELBASENAME-KERNELRELEASE - IA64 requires
- /boot/efi
- /boot/KERNELBASENAME-KERNELRELEASE - old "standard"
- /lib/modules/KERNELRELEASE/KERNELBASENAME - preferred,
- unless the boot loader or lack of space requires another
- location.
-.
-INSTALL_SYSTEM_MAP 'Install System.map' text
-The System.map is not required for booting, but it is used by a lot of
-kernel utilities, including ps and ksymoops. Unless you have a good
-reason not to install the System.map, say Y.
-.
-INSTALL_SYSTEM_MAP_NAME 'Where to install System.map' text
-Specifies which file name the System.map will be installed under.
-Because System.map is not required for booting, it should not be
-installed in a special boot directory. Unless you have a good reason
-to install System.map somewhere else, use the default value of
-/lib/modules/KERNELRELEASE/System.map. The path will be prefixed by
-CONFIG_INSTALL_PREFIX.
-
-Any words in the path that start with an upper case letter and consist
-only of upper case letters, '_' and digits are replaced by the value of
-the corresponding variable. This includes KERNELRELEASE, VERSION,
-PATCHLEVEL, SUBLEVEL, EXTRAVERSION, USERVERSION, KBUILD_SRCTREE_nnn.
-.
-INSTALL_CONFIG 'Install .config' text
-It is a good idea to save the .config used to build the kernel and
-modules, it is useful for bug reporting and for building a new version
-of the kernel. Unless you have a good reason not to install the
-.config, say Y.
-.
-INSTALL_CONFIG_NAME 'Where to install .config' text
-Specifies which file name the .config will be installed under. Because
-.config is not required for booting, it should not be installed in a
-special boot directory. Unless you have a good reason to install
-.config somewhere else, use the default value of
-/lib/modules/KERNELRELEASE/.config. The path will be prefixed by
-CONFIG_INSTALL_PREFIX.
-
-Any words in the path that start with an upper case letter and consist
-only of upper case letters, '_' and digits are replaced by the value of
-the corresponding variable. This includes KERNELRELEASE, VERSION,
-PATCHLEVEL, SUBLEVEL, EXTRAVERSION, USERVERSION, KBUILD_SRCTREE_nnn.
-.
-INSTALL_VMLINUX 'Install vmlinux for debugging' text
-If you are debugging a kernel, you usually need vmlinux as well as the
-bootable kernel. Unless you plan to debug the kernel, reply N.
-.
-INSTALL_VMLINUX_NAME 'Where to install vmlinux' text
-If you are debugging a kernel, you usually need vmlinux as well as the
-bootable kernel. For debugging, the recommended value is
-/lib/modules/KERNELRELEASE/vmlinux. The path will be prefixed by
-CONFIG_INSTALL_PREFIX.
-
-Any words in the path that start with an upper case letter and consist
-only of upper case letters, '_' and digits are replaced by the value of
-the corresponding variable. This includes KERNELRELEASE, VERSION,
-PATCHLEVEL, SUBLEVEL, EXTRAVERSION, USERVERSION, KBUILD_SRCTREE_nnn.
-.
-INSTALL_SCRIPT 'Run a post-install script or command' text
-If you perform some extra work after installing the kernel and modules,
-specify Y here. This includes automatically updating your boot loader
-with the new kernel.
-.
-INSTALL_SCRIPT_NAME 'Post-install script or command name' text
-If you perform some extra work after installing the kernel and modules,
-specify the name of your script or command here. It will be invoked
-after copying the kernel and modules to the target locations. The
-CONFIG_INSTALL_* variables will be in the environment of your script,
-as well as all variables exported by the top level Makefile, including
-KERNELRELEASE, VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION,
-USERVERSION, KBUILD_OBJTREE, KBUILD_SRCTREE_nnn.
-
-If your boot loader needs to be run to pick up the new kernel location,
-you can insert the loader command in this field. The command or script
-must be executable. LILO users might find this to be useful,
- KBUILD_SRCTREE_000/scripts/lilo_new_kernel
-It adds CONFIG_INSTALL_PREFIX_NAME/CONFIG_INSTALL_KERNEL_NAME to
-/etc/lilo.conf with a label of KERNELRELEASE (truncated to 15
-characters) then runs lilo.
-
-Any words in the path that start with an upper case letter and consist
-only of upper case letters, '_' and digits are replaced by the value of
-the corresponding variable. This includes KERNELRELEASE, VERSION,
-PATCHLEVEL, SUBLEVEL, EXTRAVERSION, USERVERSION, KBUILD_SRCTREE_nnn.
-.
-
-menus addon "Add on features (may be empty)"
- installation "Installation"
msg01469/pgp00000.pgp
Description: PGP signature
