freebsd-skq/release/picobsd
joe 8791fdf576 Post process the crunch1.mk file to allow make arguments to passed on
a per program basis allowing a greater control on what is built.

The buildopts file contains Makefile lines of form:

	# Anything added to OPTS is added to every build rule.
	OPTS= -DNOPAM

	# These should only be added to the build of user-ppp.
	ppp_OPTS= -DNOKLDLOAD -DNOINET6 -DNONAT -DNOATM -DNOSUID \
		-DHAVE_DES -DNORADIUS -DNOI4B -DNONETGRAPH

Really these should be added to crunch.inc, but that file is currently
optional, and if defined masks the global one.  Next step will be to move
these global settings back out into the individual builds as OPTS, and
then migrate OPTS and prog_OPTS back into the local crunch.inc file.
2000-11-02 13:16:43 +00:00
..
bridge Make these PICOBSD's compile... well, almost. Still some work to 2000-10-18 22:02:33 +00:00
build Post process the crunch1.mk file to allow make arguments to passed on 2000-11-02 13:16:43 +00:00
custom Fix the obvious make and sed syntax errors lurking from my last "fix". 2000-07-31 11:00:01 +00:00
dial Update the crunch config: 2000-10-16 08:21:35 +00:00
doc/src Remove <center> tags from with <title> section. 2000-07-18 15:20:55 +00:00
floppy.tree Commit PicoBSD mega-patch: 2000-04-25 19:00:08 +00:00
help $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
install Fix the PICOBSD kernel configs. They're now converted to use 2000-10-15 20:42:22 +00:00
isp Make these PICOBSD's compile... well, almost. Still some work to 2000-10-18 22:02:33 +00:00
mfs_tree remove rc and login.conf files prior to extraction of the new 2000-07-03 22:31:08 +00:00
net Post process the crunch1.mk file to allow make arguments to passed on 2000-11-02 13:16:43 +00:00
router Make these PICOBSD's compile... well, almost. Still some work to 2000-10-18 22:02:33 +00:00
tinyware Initiate deorbit burn sequence for <machine/mouse.h>. 2000-10-09 08:08:36 +00:00
Makefile Set MAINTAINER=freebsd-small with an explanation to submit all 2000-02-04 07:26:22 +00:00
README.html $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
README.luigi Start the cleanup of PicoBSD build scripts and general build 2000-02-08 08:13:47 +00:00
Version Additional cleanup of the picobsd scripts. 1999-08-23 08:33:08 +00:00

In this file i try to document the overall architecture of PicoBSD
source tree.

    ./		Per-image directory-tree and generic trees.
	
    build/	Main build scripts and Makefiles.
	build:	main build script
	stage1:	invoked by build
	clean:	to clean up previous compilations
	Makefile.conf
		makefile to edit config file and build kernel
	Makefile.mfs
		makefile to create the memory filesystem
	Makefile.crunch
		makefile to handle the crunched directory
	mfs.mtree
		mtree cmd -- structure of the mfs tree

    floppy.tree/
	Default files to fill the floppy and mfs trees.
	Can be overridden by listing files to be removed in
	${TYPE}/floppy.tree.exclude, and putting files to be replaced
	in ${TYPE}/floppy.tree/

    doc/
	documentation (unchanged from original)

    help/
	help files in various languages. The suffix is the two letter
	country code for the language. Currently only .en and .pl
	used.

    tinyware/
	various small programs used instead of the corresponding
	full-blown utilities.

    $TYPE/	source and config files for the various image types.

Structure of each image type is as follows:

    Makefile.mfs
	Makefile used to build/populate the MFS. Only needs two
	lines typically:

	MY_DEVS=std ....
	.include "../build/Makefile.mfs"

    PICOBSD
	kernel config file. One line is required

	    #PicoBSD  mfs_size init_name mfs_inodes floppy_inodes
	e.g.
	    #PicoBSD  2400	init	4096	32768

    crunch1/
	Directory with crunched config etc. Main files:
	crunch.conf	main config file for crunchgen
	crunch.inc	(optional) file included in crunchgen
			Makefiles, used e.g. to set make variables
			such as RELEASE_CRUNCH or similar.

    floppy.tree/
	local files to be put into the floppy/mfs trees instead
	of the ones in ../build/floppy.tree

    floppy.tree.exclude
	list of files to be omitted in the copy from ../build/floppy.tree

    floppy.tree.${SITE}/
	site-specific files which update the ones taken from one
	of the two places above. Typically they are passwd, hosts,
	rc.conf, rc.firewall things to go in /etc

    lang/
	language-dependant files (trimmed from the original one)