Home | History | Annotate | Download | only in miniroot
History log of /src/distrib/miniroot/Makefile
RevisionDateAuthorComments
 1.69  29-Dec-2019  christos 1. Remove all the special handling of variables (-d -p -P -s -S) that
were dealing with DBG (-d) LDSTATIC/NOPIE (-p), and the rest with
disabling/enabling sanitizers.
2. Use emalloc/estrdup for all the allocators instead of only some cases.
3. Add -V varspec which passes variables on the command line (as DBG
and LDSTATIC used to be passed before) instead of appending them
to the on-the-fly Makefile using -v varspec.
4. Change the distrib and rescue Makefiles to use -V instead of the removed
flags.

The motivation of this is to make variable handling consistent, less magical,
and remove the need for changing crunchgen each time we want to add disabling
an option by default.

(as proposed in tech-toolchain)
 1.68  20-Sep-2009  abs branches: 1.68.48;
${NETBSDSRCDIR}/distrib/common/protocols => ${DISTRIBDIR}/common/protocols
${NETBSDSRCDIR}/distrib/common/services => ${DISTRIBDIR}/common/services
 1.67  25-Jan-2009  abs Use the cutdown distrib/common/services and distrib/common/protocols
rather than the full fat etc versions
 1.66  19-Sep-2008  tsutsui Add ${IMAGE}.gz to dependency list of release:: target as well as the one
in src/distrib/common/Makefile.image so that ${MAKESUMS} will be invoked
after the target image is installed into the releasedir, not before,
even if make -jN is specified.

XXX some ports do ${MAKESUMS} for installation/miniroot files
XXX in etc/etc.${MACHINE}/Makefile.inc later again.
 1.65  23-Jun-2008  matt Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
 1.64  10-May-2007  dogcow branches: 1.64.12; 1.64.16;
Since /etc/services has gotten rather large, use a minimal one for install
kernels. (mount_nfs is notably the only binary that doesn't gracefully deal
with the lack of an /etc/services file, it appears.)
 1.63  03-Jan-2003  lukem branches: 1.63.16; 1.63.20;
Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
 1.62  07-May-2002  lukem enable (default) libhack for all miniroots.
for atari, also add gethost.o (as before)
 1.61  07-May-2002  lukem Use release:: instead of release: when multiple release targets may exist
 1.60  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.59  26-Apr-2002  lukem replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.58  23-Apr-2002  tv Make sure DBG setting is passed to crunch Makefile to get proper
compile-time options.
 1.57  12-Apr-2002  lukem - replace image_md_post: target with IMAGE_MD_POST variable, and use
that after building ${IMAGE}
- use ${IMAGEBUILT} to ensure that IMAGE_MD_POST is only run if IMAGE changes
 1.56  12-Apr-2002  lukem remove MAKESUMS (provided by ../Makefile.inc). minor tweaks
 1.55  10-Apr-2002  lukem tweak how distrib/Makefile.inc is pulled in. use realall: instead of all:
 1.54  08-Apr-2002  bjh21 Set CKSUM in makesums' environment.
 1.53  18-Mar-2002  lukem add empty image_md_post rule so ports that don't provide one won't barf
 1.52  17-Mar-2002  lukem If we're going to use DISTRIB(REV|VER) in generated files, have those files
depend upon osrelease.sh. Issue raised by Havard Eidnes.
 1.51  16-Mar-2002  lukem need to pass DISTRIBREV and DISTRIBVER to parselist as well
 1.50  14-Mar-2002  lukem parselist.awk
- improve comments
- provide a general purpose variable replacement; replace contents of ${FOO}
with ENVIRON["FOO"].
- deprecate @MACHINE@ and @MACHINE_ARCH@ in favour of using ${MACHINE}
and ${MACHINE_ARCH} instead
- add errx() function; like err(), but doesn't print the line number
- invoke this script with various variables defined via PARSELISTENV

*/Makefile*
- use PARSELISTENV instead of POPULATEENV, and add variables like DESTDIR
- other minor tweaks

*/list*
- replace @MACHINE@ with ${MACHINE}
 1.49  06-Mar-2002  lukem Commit work-in-progess rototill of distrib/miniroot and associated machine
dependent files:

- Use infrastructure from distrib/common to build file system images with
crunchgen-ed programs from a list file.

- Non root ("UNPRIVED") builds from a read-only source tree are possible,
as makefs(8) replaces vnconfig(8)/vnd use, devices are generated using
common/makedev2spec.awk, etc.

- Cross builds should be possible, except that some ports need cross-compile
host tool versions of installboot and any appropriate host disk labelling
tools.
XXX: pmax, sparc and vax need fixing for this!

- This code has NOT YET BEEN TESTED on most of the ports.
It should work, but it is extremely likely that the file system
parameters may need tweaking to get things to fit.
See MAKEFS_FLAGS in sparc/miniroot/Makefile.inc for an example.
If assistance is required, please ask!
 1.48  12-Feb-2002  is Use the building machine's raw partition instead of fixed "c" to allow
cross-building.
 1.47  12-Feb-2002  lukem remove REV in favour of DISTRIBREV (from ../Makefile.inc)
 1.46  09-Feb-2002  lukem don't set the owner or group when installing into $RELEASEDIR
 1.45  15-Jan-2002  pk Test DESTDIR and RELEASEDIR for non-emptyness as well as existence, sigh..
 1.44  15-Jan-2002  pk Remove instbin.cache from dependency lists, since crunchgen is now run
unconditionally.
Avoid running the crunchgen command multiple times for each dependent
target by marking only one target (instbin.mk) for unconditional re-make.
 1.43  07-Jan-2002  shin use 'vnd0' instead of 'vnd0c', when unconfigure device.
 1.42  27-Nov-2001  jmc Just use vnd0 when vnconfig'ing and then use the char/raw device when newfs'ing
and mounting
 1.41  08-Nov-2001  tron Use the block device when invoking "vndconfig" because the character
device isn't accepted any longer.
 1.40  07-Nov-2001  shin use raw device name for vnconfig.
 1.39  13-Oct-2001  jmc Add MTREE?= to add Makefiles and use when running mtree
 1.38  10-Oct-2001  enami Use symbol MTREECONF instead of MTREE to refer configuration file
to avoid conflicts. Pointed out by chs@netbsd.org.
 1.37  25-Feb-2001  jmc Make sure crunchgen remakes the makefile everytime and it doesn't use it's
cache since other Makefiles could change source files too easily.
 1.36  01-Nov-2000  garbled Change all ocurrences of "crunchgen" to ${CRUNCHGEN}
 1.35  30-Aug-2000  jhawk Use
${MAKE}
instead of
make
 1.34  29-Aug-2000  leo Backout previous commit. It shouldn;t have happend.
 1.33  29-Aug-2000  leo Pull up revision 1.16 (requested by leo, approved by thorpej).
Log:
Use x_ed and x_route to save space on the miniroot.
 1.32  18-May-2000  matt branches: 1.32.4;
Updagte the VAX bits so they actually work. Use the common method of building
miniroots. Fix the ramdisk bits. Use the INSTALL kernel. This stuff has
really suffered from bitrot.
 1.31  05-May-2000  sjg Added missing .gz to makesums arg
 1.30  02-May-2000  sjg use bsd.kernobj.mk to tell us KERNOBJDIR for compiled kernels.
 1.29  02-May-2000  sjg Use top-level Makefile.inc to set BSDSRCDIR
use bsd.kernobj.mk to set KERNOBJDIR and pass this to runlist.sh
 1.28  16-Apr-2000  pk Fix path to `makesums'
 1.27  16-Apr-2000  matt Use relative path to osrelease.sh
 1.26  07-Mar-2000  pk Bump image size by 1MB.
 1.25  06-Mar-2000  is Make sure the miniroot distribution directory exists.
Compute the checksums.
 1.24  10-Jan-2000  pk Remove version number from boot image files.
 1.23  18-Oct-1999  pk Add `release:' targets.
 1.22  18-Jul-1999  abs branches: 1.22.2;
s/makeing/making/
 1.21  11-May-1999  veego Sync with the recent crunchgen changes.
- Remove *.cro files and not the obsoleted *.lo files.

From Bill Studenmund commit message:
> 3) Generate .cro files rather than .lo files. .lo now is used for "local
> objects" - obj's for the host machine not the target machine.
 1.20  18-Apr-1999  is use an async mount for building the miniroot filesystem
 1.19  16-Nov-1998  jonathan branches: 1.19.2;
Add hook for running extraneous commands before newfs.
 1.18  05-Sep-1998  lukem distclean is a synonym for cleandir
 1.17  26-Jan-1998  bad We don't need to manually flush the buffer cache after ``vnconfig -u''
anymore.
 1.16  22-Sep-1997  scottr Add a VND_GEOM variable for optionally specifying a geometry
to vnconfig(8).
 1.15  09-Sep-1997  is More changes, while working on Amiga generic miniroot stuff:
- added method BOOTINSTALL, for an architecture to optionally install a
bootblock in the miniroot (this works for Amiga)
- added Amiga keymap directories
- removed the subdir selection from mount_local_disk() and mount_nfs(), and
the remains from mount_cdrom(), as all are handled now by the subdir
navigator in mount_from_installed_fs()
 1.14  15-Jul-1997  pk Make DISKTYPE optional; default to vnd's builtin geometry.
Make `vnd0c' the default vnd device (instead of `vnd0a').
 1.13  23-Jun-1997  thorpej Update for changes to vnconfig(8).
 1.12  10-May-1997  lukem Don't hardcode in the current release information; generate it
automatically on the fly, by using
`sh ${BSDSRCDIR}/sys/conf/osrelease.sh -s`
 1.11  16-Mar-1997  veego Bump the REV to 12D to get in sync with param.h and newvers.sh.
This REALLY needs to be in ONE file and not in 11 files.
 1.10  08-Jan-1997  thorpej Include <bsd.own.mk> for <bsd.obj.mk>. Bump rev to 12B (HI PERRY! :-)
 1.9  10-Oct-1996  gwr Merge the netbsd-1-2 branch back into the mainline.
 1.8  04-Jul-1996  leo Check for $DESTDIR being set. This prevents you from accidently ending up
with a miniroot that contains your local passwd files.
 1.7  25-Jun-1996  thorpej We're 1.2A, I promise.
 1.6  30-May-1996  leo * Edit VERSION into install.sub while copying instead of using a
VERSION file.
* Set the EDITOR variable in install.sub, so it will be set in both
upgrade & install.
* Make the checks on the presence of installation sets on the local
disks on upgrade more precise.
* Remove more&less from the list of standard binaries (I need more space!)
* When building an fstab from the users' fstab, drop lines starting with
a '#' and lines with an fstype that is not supported on the miniroot.
 1.5  27-May-1996  leo Remove leftover from atari (floppybt -> miniroot)
 1.4  27-May-1996  leo Sync atari miniroot & mi-miniroot
 1.3  24-May-1996  pk Include machine-specific makefile so the default values of various
things can be overridden.
 1.2  06-Jan-1996  pk branches: 1.2.4;
update clean target
 1.1  18-Dec-1995  pk Attempt at a MI miniroot build environment, converted from hp300 version.
Note:
- `list' was more-or-less arbitrarily split into MD & MI parts.
- the `crunch' configuration file is generated from `list's
with the `makeconf' awk-script.
- Makefile assumes there's a `../<arch>/miniroot' directory with
MI configuration files.
 1.2.4.4  13-Mar-1997  mycroft 1.2 -> 1.2.1, foo12 -> foo121
 1.2.4.3  04-Jul-1996  leo Pull up from trunk.
 1.2.4.2  25-Jun-1996  thorpej Just like the trunk's 1.2A, we're 1.2.
 1.2.4.1  20-Jun-1996  pk Sync with trunk.
 1.19.2.2  04-Nov-2000  he Apply patch (requested by matt):
Add an 'unconfig' target.
 1.19.2.1  01-Mar-2000  he Apply patch (requested by toddpw):
Support the ``release'' target (used at least by sparc).
 1.22.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.32.4.1  25-Mar-2002  he Apply patch (requested by he):
Introduce dependency between ramdisk/miniroot construction and
osrelease.sh, to better support UPDATE builds of releases.
 1.63.20.1  22-Sep-2008  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1204):
distrib/hpcarm/Makefile 1.4 - 1.6
distrib/hpcarm/instkernel/Makefile 1.1
distrib/hpcarm/stand/Makefile 1.1 - 1.2
distrib/hpcmips/Makefile 1.29 - 1.33
distrib/hpcmips/instkernel/Makefile 1.1
distrib/hpcmips/stand/Makefile 1.1 - 1.2
distrib/hpcsh/Makefile 1.7 - 1.9
distrib/hpcsh/instkernel/Makefile 1.1
distrib/hpcsh/stand/Makefile 1.1 - 1.2
distrib/miniroot/Makefile 1.65 - 1.66
etc/etc.hpcarm/Makefile.inc 1.6 - 1.8
etc/etc.hpcmips/Makefile.inc 1.9 - 1.10
etc/etc.hpcsh/Makefile.inc 1.4 - 1.5
Build install kernels and standalone bootloaders in their own directories
so that parallel build works properly.
Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
Add ${IMAGE}.gz to dependency list of release:: target as well as the one
in src/distrib/common/Makefile.image so that ${MAKESUMS} will be invoked
after the target image is installed into the releasedir, not before,
even if make -jN is specified.
XXX some ports do ${MAKESUMS} for installation/miniroot files
XXX in etc/etc.${MACHINE}/Makefile.inc later again.
- add INSTALLATION_DIRS+=installation/miniroot so that miniroot.fs.gz
image is installed properly
- INSTALL_IPAQ should be in BUILD_KERNELS rather than KERNEL_SETS
since it requires ramdisk image by mdsetimage(8) in src/distrib
Invoke ${MAKESUMS} for ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation files
as snap_md_post target in etc/etc.${MACHINE}/Makefile.inc rather than
as release target in distrib/${MACHINE}/Makefile so that builds for
release in distrib/${MACHINE}/Makefile don't have to be serialized.
 1.63.16.1  22-Sep-2008  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1204):
distrib/hpcarm/Makefile 1.4 - 1.6
distrib/hpcarm/instkernel/Makefile 1.1
distrib/hpcarm/stand/Makefile 1.1 - 1.2
distrib/hpcmips/Makefile 1.29 - 1.33
distrib/hpcmips/instkernel/Makefile 1.1
distrib/hpcmips/stand/Makefile 1.1 - 1.2
distrib/hpcsh/Makefile 1.7 - 1.9
distrib/hpcsh/instkernel/Makefile 1.1
distrib/hpcsh/stand/Makefile 1.1 - 1.2
distrib/miniroot/Makefile 1.65 - 1.66
etc/etc.hpcarm/Makefile.inc 1.6 - 1.8
etc/etc.hpcmips/Makefile.inc 1.9 - 1.10
etc/etc.hpcsh/Makefile.inc 1.4 - 1.5
Build install kernels and standalone bootloaders in their own directories
so that parallel build works properly.
Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
Add ${IMAGE}.gz to dependency list of release:: target as well as the one
in src/distrib/common/Makefile.image so that ${MAKESUMS} will be invoked
after the target image is installed into the releasedir, not before,
even if make -jN is specified.
XXX some ports do ${MAKESUMS} for installation/miniroot files
XXX in etc/etc.${MACHINE}/Makefile.inc later again.
- add INSTALLATION_DIRS+=installation/miniroot so that miniroot.fs.gz
image is installed properly
- INSTALL_IPAQ should be in BUILD_KERNELS rather than KERNEL_SETS
since it requires ramdisk image by mdsetimage(8) in src/distrib
Invoke ${MAKESUMS} for ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation files
as snap_md_post target in etc/etc.${MACHINE}/Makefile.inc rather than
as release target in distrib/${MACHINE}/Makefile so that builds for
release in distrib/${MACHINE}/Makefile don't have to be serialized.
 1.64.16.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.64.12.3  05-Oct-2008  mjf Sync with HEAD.
 1.64.12.2  28-Sep-2008  mjf Sync with HEAD.
 1.64.12.1  29-Jun-2008  mjf Sync with HEAD.
 1.68.48.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed