To build the operating system, a batch file (BUILD.BAT) is included
to make life easier.  This file is in the FDKERNEL directory of the
distribution.  In addition, there is a corresponding batch file
(CLEAN.BAT) to clean up the source directories.

There is a CONFIG.M file that specifies all the paths and names of
the compiler, assembler, etc. that you want to use.  You MUST copy
it to CONFIG.MAK first, then edit it to reflect your setup.

Likewise, there is a CONFIG.B file that should be copied to
CONFIG.BAT, and then edited to reflect your setup.

The reason for this copying of files is that when new releases of the
kernel come out, you can extract them over your previous source, and
not have to worry about resetting up your configuration because your
CONFIG.BAT and CONFIG.MAK files will not get replaced!

You will also need to download the latest version of NASM and Turbo C
2.01.  Install Turbo C and NASM somewhere (it doesn't really matter
where) and then be sure to edit the CONFIG.MAK file to reflect where
you put the tools.

*TE*******  Make sure to use the NASMR version, as the DosExtender version
  _seems_ to produce wrong code. the tested version is 
  NASM98R, 06/04/99, 202.606 bytes.


This program will now compile with Turbo C 2.01 (now freely
available!), Turbo C 3.0, Borland C 4.51 & 5.01.  It should work with
other Borland compilers as well.

If you feel hardy, read on to understand the directory structure.  A
more complete description of the build environment is contained in a
companion book, "The FreeDOS Kernel" (ISBN: 0-87930-436-7) published
by R&D Books, an imprint of Miller Freeman of Lawrence, Kansas (USA)
and distributed in the USA and Canada by Publishers Group West.  See
the file README.TXT for more details.


Directory Structure
-------------------

fdkernel			root directory
  +-----bin			holds image of distribution disk
  +-----boot  			boot.bin (boot sector)
  +-----docs			documentation directory
  +-----drivers			DEVICE.LIB
  +-----hdr			common *.h files
  +-----kernel			The kernel itself
  +-----lib			LIBM.LIB and DEVICE.LIB
  +-----sys			SYS.COM and supporting programs
  +-----utils			Miscellaneous utilities


Organization in a nutshell
--------------------------
Each component or group of utilities is segregated into its own
directory. In order to build that component or utility, a makefile
exists in the directory that bears the component's or utility's
basename.

Each makefile has at least two targets, production and clean.  The
target production builds the expected component or utility and the
component clean cleans up the directory for distribution.  The
makefile may have at least one additional target that builds the
component.  Study the makefile to better understand this.

---------------------------------------------------------------------

$Id: build.txt,v 1.4 2001/07/09 22:19:33 bartoldeman Exp $

$Log: build.txt,v $
Revision 1.4  2001/07/09 22:19:33  bartoldeman
LBA/FCB/FAT/SYS/Ctrl-C/ioctl fixes + memory savings

Revision 1.3  2000/08/15 03:42:17  jhall1
update to the bugs.txt file to point the user to the bug database at
 the FreeDOS web site (http://www.freedos.org/bugs)
update to the build.txt file to remove references to the now-defunct
 web site at gcfl.net (John's old site).

Revision 1.2  2000/05/08 04:27:48  jimtabor
Update CVS to 2020

Revision 1.2  1999/08/25 04:12:31  jprice
update

Revision 1.1  1999/08/25 03:46:41  jprice
New build config

