History log of /src/distrib/common/Makefile.mdset
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.47 23-Apr-2024 christos

`nm`: Generate a stable symbol table (Jan-Benedict Glaw)

Release artifacts may contain symbol lists. Binutils's `nm` sorts them by
symbol name, locale based. Inserting a plain `sort` (with `LC_ALL=C`) here
sorts them by address, and (with several symbols pointing to the same address)
sorting by name is also stable (think of embedded '_'.)


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.46 12-Aug-2019 martin

Allow individual MDSETTARGETS/MDSET_SUFFIXES to define optional dependencies
between themselves.
Use that to make netbsd-RPI_INSTALL.img depend on netbsd-RPI_INSTALL.bin,
resolving the parallel build race.


# 1.45 11-Aug-2019 martin

Back out previous, it causes build fallout like:
release ===> etc/dreamcast/cdroms/installcd
shle--netbsdelf-install: .WAIT: stat: No such file or directory


# 1.44 11-Aug-2019 martin

Various suffixes for the same kernel image may depend on each
other, so .WAIT after creating one before moving on to the next.
Case at hand: evbarm/installation/instkernel:
netbsd-RPI_INSTALL.bin needs to be complete before netbsd-RPI_INSTALL.img
can be created.
Better solutions welcome...


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.43 06-Feb-2019 mrg

branches: 1.43.2;
- clean the .tmp kernel targets as well


Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.42 16-Jan-2018 maya

branches: 1.42.4;
Make MDSET_NOGZIP behave as documented also if MDSET_SUFFIX is set

MDSET_NOGZIP is documented as intended to apply for all kernels, even if
MDSET_NOGZIP.filename is not set.

From Harold Gutch in PR toolchain/52836


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.41 20-Sep-2016 christos

Add the ability to specify more sections to strip.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.40 05-Aug-2014 apb

branches: 1.40.6;
Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.39 27-Jan-2014 apb

branches: 1.39.2;
Use ${TOOL_GZIP} instead of just gzip in all Makefiles
outside */dist/* subdirectories.

When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.


# 1.38 15-Aug-2013 joerg

Save space and strip .eh_frame sections for the ramdisks as well.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.37 30-Jan-2013 he

Fix the ALL_KERNELS default value assignment, so that the double
quotes don't become a part of the value, causing all the targets
to be skipped by default.


Revision tags: yamt-pagecache-base8
# 1.36 13-Jan-2013 mlelstv

build.sh lets you build releases with a limited set of kernels by
using the ALL_KERNELS environment variable to override the arch default.

Fix this mechanism for evbarm by limiting the generated boot images
accordingly.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.35 01-Jan-2011 jym

branches: 1.35.6; 1.35.12;
Document MDSET_NOIMAGE.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.34 03-Apr-2009 perry

Consistently use gzip with the -n flag so dates are not embedded.

Not tested on all platforms.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 mjf-devfs2-base
# 1.33 21-Jul-2008 agc

branches: 1.33.4; 1.33.8;
Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.32 23-Jun-2008 matt

Change MACHINE to RELEASEMACHINEDIR


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.31 02-May-2008 ad

branches: 1.31.2;
Put the GENERIC kernel onto i386 installation CDs and load a kernel module
from the boot loader to provide the miniroot.


Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-base mjf-devfs-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.30 08-Sep-2007 chris

branches: 1.30.8; 1.30.10;
Fix bug which causes cats builds to not produce an a.out install kernels,
which are needed to boot from Cyclone firmware.

Bug reported on port-cats mailing list:
http://mail-index.netbsd.org/port-cats/2007/09/08/0000.html


Revision tags: matt-mips64-base
# 1.29 07-Jun-2007 he

branches: 1.29.4;
After ${_FILENAME} got assigned its value when it's "-", we can
no longer use it as a copy of ${_F} in the subsequent test for
additional targets under the MDSET_SUFFIXES test.

This brings back builds of srec & bin files for evbarm and img
files for evbppc.


Revision tags: netbsd-4-base
# 1.28 23-Aug-2006 bouyer

branches: 1.28.2; 1.28.4;
Properly set ${_FILENAME} if the _F item of MDSETTARGETS is '-'.
From Jachym Holecek on tech-toolchain.


Revision tags: abandoned-netbsd-4-base
# 1.27 31-May-2005 lukem

Support MDSET_POST; apply the operation to every image.

Implement MDSET_NOGZIP & MDSET_NOGZIP.${FILENAME}, to prevent the gzip
of the final image. This is useful if that image has already been
munged & gzipped by MDSET_POST* or MDSET_SUFFIXES*.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.26 06-Jun-2004 dsl

Remove the .comment and .ident sections when stripping kernels.
Saves about 4k from all the install floppies


# 1.25 04-May-2004 lukem

MAKEVERBOSE support


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.24 17-Jan-2004 dsl

Run mdsetimage on a temporary copy of the kernel, then we retry if/when
it fails.


# 1.23 24-Oct-2003 lukem

Add MDSET_NOSTRIP and MDSET_NOSYMBOLS; global versions of the "per ${FILE}"
equivalents that currently exist.


# 1.22 10-Jul-2003 lukem

Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.


# 1.21 11-Mar-2003 lukem

add multiple-include protection.
clean up some comments.


# 1.20 11-Mar-2003 lukem

Augment the `KERNEL' field of MDSETIMAGES; if it contains a `/'
character, use that as the path to the kernel to use, rather than
using the default of "${KERNOBJDIR}/${KERNEL}/netbsd".
(Using this feature means that FILENAME == "-" isn't useful. such is life...)


# 1.19 03-Jan-2003 lukem

Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.


Revision tags: fvdl_fs64_base
# 1.18 18-Nov-2002 lukem

Consistently use "netbsd-XXXXX" instead of "netbsd.XXXXX".


# 1.17 14-Oct-2002 lukem

Use _KERNEL.${_K}.${_F} instead of _KERNEL.${_K}, as this allows
MDSETTARGETS to contain the same kernel (_K) more than once, as long
as the filename (_F) is different.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.16 10-May-2002 lukem

support MDSET_NOSTRIP.${FILENAME}


# 1.15 08-May-2002 lukem

- whitespace consistency cleanup
- build (mdset/nm/strip) into ${filename} as one rule, and move ${filename}.gz
into separate rule
- rename MDSET.${filename}.nosymbols -> MDSET_NOSYMBOLS.${filename}
- rename MDSET.${filename}.post -> MDSET_POST.${filename}, and don't do
suffix handling here
- rework suffix handling:
- rename MDSET.${filename}.suffixes -> MDSET_SUFFIXES.${filename},
and change from list of suffixes to list of "suffix cmdtobuildsuffix",
where cmdtobuildsuffix is the name of the variable containing the
command to build ${filename}.${suffix} (available as "${.TARGET}").
- for each ${filename}.${suffix}, depend upon ${filename} and use
${cmdtobuildsuffix} to create the former.
- add separate ${filename}.${suffix}.gz rule
- mipsco & pmax: rename "install.gz" to "netbsd-INSTALL.gz", for
consistency and so the target to build the mdset kernel doesn't get
confused with general "install" target


# 1.14 07-May-2002 lukem

Use release:: instead of release: when multiple release targets may exist


# 1.13 05-May-2002 lukem

add support for MDSET.${FILENAME}.nosymbols


# 1.12 03-May-2002 lukem

rather than blocking parallel mdset builds with .WAIT, replace usage of
"netbsd.tmp" with "${.TARGET:R}" (et al)


# 1.11 02-May-2002 lukem

yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
(fixes problem caused by implicit include of ../Makefile.inc in certain
submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*; rely upon "snap_pre" target of
etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}


# 1.10 26-Apr-2002 lukem

replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version


# 1.9 24-Apr-2002 thorpej

Fix kernel suffix processing:
* Don't put .WAIT in ${KERNELS}.
* Make sure to add suffixed kernel names to ${KERNELDEPS}.


# 1.8 14-Apr-2002 lukem

Makefile.mdset: add ${KERNELDEPS} variable which is ${KERNELS} with
.WAIT between the items, and remove .WAIT from ${KERNELS}.
Use ${KERNELDEPS} in make dependencies.


# 1.7 14-Apr-2002 lukem

improve comments and status messages


# 1.6 14-Apr-2002 lukem

- Rename Makefile.mdset variables:
MDEXTRA_SUFFIXES.${KERNEL} -> MDSET.${FILENAME}.suffixes
${KERNEL.${_K}}.post -> MDSET.${FILENAME}.post
This allows "default" rules for for MDSETTARGETS with FILENAMEs of "-"
by defined MDSET.-.post & MDSET.-.suffixes
- Document the above
- Use the above appropriately in various Makefiles
- Be a be quieter when building these kernels
- Add .WAIT syncs so that multiple kernels aren't built in parallel, because
the temporary filename is the same, and it also avoid hairy magic in
syncing the targets generated from MDSET.${FILENAME}.suffixes with
the master target for that ${FILENAME}


# 1.5 13-Apr-2002 thorpej

Add support for optional extra install kernel suffixes (e.g. .srec
or .bin), provided by the MDEXTRA_SUFFIXES.${kernel} variable.


# 1.4 12-Apr-2002 lukem

Makefile.mdset:
replace
TARGETS = KERNEL IMAGE [...]
with
MDTARGETS = KERNEL IMAGE FILENAME [...]
If FILENAME is "-", use "netbsd.${KERNEL}" as the target filename

The rest:
Update for new MDTARGETS syntax. In some cases, the kernel
name from the "old" method will be used to override the default.


# 1.3 12-Apr-2002 lukem

document which variables get modified by this fragment


# 1.2 12-Apr-2002 lukem

- don't pull in <bsd.prog.mk> in Makefile.mdset; do that in the caller instead
- renamed optional post-strip action variable from ${KERNEL}.post to
netbsd.${KERNEL}.post


# 1.1 11-Apr-2002 lukem

Makefile snippet to do the ${MDSETIMAGE} / ${NM} / ${STRIP} / gzip
game on various kernels and fs images.