cb42083e46
objects, to simplify working with PicoBSD. Add the ability to put make instructions in crunch.inc to pass to the build process. Now explicitly make the objects in our own object tree, since we want to build the objects with our own defines, and allow this to occur in a common object tree for all PicoBSD builds, if required. This is controlled by the COMM_OBJ variable, for those who don't want this - setting it to /usr/obj again will just pick up the objects from your last make buildworld, as before.
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)