Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Nov 1999 14:25:00 +0100
From:      Marcel Moolenaar <marcel@scc.nl>
To:        arch@freebsd.org
Subject:   preview: Make world
Message-ID:  <381EE62C.A299A6B9@scc.nl>

next in thread | raw e-mail | index | archive | help

Hi,

I've made my work-in-progress available at
http://www.freebsd.org/~marcel/world.diff (184KB).

Some hi(gh)lights:
- No cleanup before building.
- Non-root building.
- Cross-building ready.

Work to be done:
- Build cross-compilation tools from sources.
- Conditional tools building.

From the /usr/src/Makefile comments:

# Make command line options (enable):
#
#       -DCOMPAT1X      include FreeBSD 1.x compatibility
#       -DCOMPAT20      include FreeBSD 2.0.x compatibility
#       -DCOMPAT21      include FreeBSD 2.1.x compatibility
#       -DCOMPAT22      include FreeBSD 2.2.x compatibility
#       -DCOMPAT3X      include FreeBSD 3.x compatibility
#       -DCSRG_LIBM     use legacy libm
#       -DKERBEROS4     include KerberosIV
#       -DRELEASE       release specialities (much of the above and
more)
#
# Make command line options (disable):
#
#       -DNOCRYPT       do not build crypt versions
#       -DNOINFO        do not make or install info files
#       -DNOPROFILE     do not build profiled libraries
#       -DNOSECURE      the secure subdir should not be built
#
# Make command line options (variables [with defaults]):
#
#       TARGET_ARCH=[${MACHINE_ARCH}]
#                       specifies the platform for which world is to
#                       be built
#       KERNEL=[GENERIC]
#                       specifies which kernel should be build as part
#                       of a world
#       DESTDIR=[]
#                       specifies where world is to be installed
#
# ========
#   TODO
# ========
#
# Dependencies:
#
# -     Handle makefile dependencies for makefiles that only include
#       bsd.subdir.mk.
# -     Handle the possible complex dependencies of makefiles caused by
#       the include directive. This can be handled by introducing a new
#       variable (MAKEFILES) to which each makefile appends its name.
#       bsd.dep.obj can iterate over these names and check timestamps.
# -     Handle the possible complex dependencies of build options. This
#       implies that a build must "remember" its options so that a re-
#       build can handle changes in these options.
#
# Cross building:
#
# -     Double check make world without an existing /usr/include
# -     Double check make world without an existing /usr/lib
# -     Find out what needs to be done to build a cross-compiler
#       from the sources in the source tree.
#
# Tools building:
#
# -     Design a generic and flexibly why to determine whether some
tools
#       need to be build or not. For example: The tools subdir can hold
#       shell scripts that each handle a different tool (analogy with
rc.d)
#	and basicly contains the checks and the make commands.
#
# Upgrading:
# -     Include checks to determine if bootblocks need to be installed
#
# Command line options:
#
#       -DNOSUIDPERL
#       -DPERL_THREADED
#       -DNO_SENDMAIL
#       -DNO_CVS
#       -DNOMANCOMPRESS
#
#       PRINTERDEVICE=
#       BOOTWAIT=
#       BOOT_COMCONSOLE_PORT=
#       BOOT_COMCONSOLE_SPEED=
#       TOP_TABLE_SIZE=
#       DEBUG_FLAGS=
#
# Miscellaneous:
#
# -     Don't forget release building.
#

FYI,

-- 
Marcel Moolenaar                        mailto:marcel@scc.nl
SCC Internetworking & Databases           http://www.scc.nl/
The FreeBSD project                mailto:marcel@FreeBSD.org




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?381EE62C.A299A6B9>