amiga/ - Code to make AROS work on the Amiga itself. Currently
	the emulation is nonexistent, but we work on boot code
	(found in \shell{boot/}).

config.h - This is a generated include file. It's generated by
	\filename{AROS/configure} and will appear in the include
	tree as \filename{aros/config.h}. The following information
	can be found in this file:

	\begin{description}
	\item{AROS_FLAVOUR} What version of AROS should be
		generated ? A native (binary compatible) one
		(AROS_FLAVOUR_NATIVE) ? A standalone OS
		(AROS_FLAVOUR_STANDALONE) ? An emulation which
		runs under another OS (AROS_FLAVOUR_EMULATION) ?
		A link library which allows to link native
		applications (ie. ones which behave like any
		other app on another OS) (AROS_FLAVOUR_LINKLIB) ?

		Note that not all flavours are available on all
		hardwares/OS combinations. To use this |#define|,
		write something like
		|#if AROS_FLAVOUR==AROS_FLAVOUR_NATIVE|.

	\end{description}

dummy/ - C source for kernel functions. These will not produce
	correct code to compile the kernel but when you compile
	and disassemble these, you will have a good starting point
	to write the assembler functions for the kernel.

freebsd/ - Code to make AROS work as an emulation under
	FreeBSD.

host.cfg - This file is included by all makefiles and
	generated by \filename{AROS/configure}. It defines the
	following Make variables:

	\begin{description}
	\item{$(APP_CFLAGS)} Flags which replace
		\shell{$(COMMON_CFLAGS)} when code for inside
		the AROS shell is to be compiled (not linked).

	\item{$(ARCH)} What kind of OS is this ? Values are
		for example \shell{linux}, \shell{freebsd},
		\shell{hpux}, \shell{netbsd}, \shell{amiga}, etc.

	\item{$(COMMON_AFLAGS)} Flags which must always be passed
		to \shell{$(AS)}.

	\item{$(COMMON_CFLAGS)} Flags, which must always appear
		in \shell{$(CFLAGS)} for \shell{$(CC)}.

	\item{$(FLAVOUR)} What flavour of AROS should be
		generated ? The possible values are \shell{native},
		\shell{standalone}, \shell{emulation} or
		\shell{linklib}.

	\item{$(GUI_CCFLAGS)} Flags, which must be passed to
		$(CC) when code is to be compiled which
		uses the native GUI (eg. \shell{-I/usr/X11R6/include}).

	\item{$(GUI_INCDIR)} Directory where the include files for
		the native GUI can be found.

	\item{$(GUI_LIBDIR)} Directory where link libraries for the
		GUI of the native OS can be found (eg.
		\shell{/usr/X11R6/lib}).

	\item{$(GUI_LIBFLAGS)} Libraries against which to link
		if you need the native GUI (eg.
		\shell{-lX11}).

	\item{$(GUI_LDFLAGS)} Flags, which must be passed to the
		linker when linking code which requires the native
		GUI (eg. the kernel or applications for flavour
		linklib).

	\item{$(ILDFLAGS)} Flags which must be passed to
		\shell{$(CC)} when code is to be linked
		for use in the AROS shell.

	\item{$(KERNEL)} What kind of CPU is this ? Possible
		values are for example \shell{m68k-native},
		\shell{m68k-emul}, \shell{i386}, \shell{hppa9}, etc.

	\item{$(MKDEPEND)} Program to be called when Make
		wants to find out which include files should
		be taken into account when it's time to decide
		if a file must be updated or not (eg.
		\filename{makedepend}).

	\item{$(RANLIB)} Program to run on link libraries created
		with \shell{$(AR)}. Most of the time this will
		either be \filename{ranlib} or \filename{true}.

	\item{$(SYS_AS)} The name of the systems' assembler.
		You should not use this value but the context
		sensitive \shell{$(AS)} which contains the
		assembler to use in the current context.

	\item{$(SYS_CC)} The name of the systems' C compiler. This
		may be different from \shell{$(CC)}, because
		\shell{$(CC)} is context dependent (eg. if you
		compile code in the AROS shell, it's value is
		different from when you compile AROS kernel code).

	\end{description}

i386/ - Version of the kernel for i386 CPUs. It consists
	mainly of a bunch of assembler files which implement
	functions that can't be done in C (eg. semaphores, stack
	handling or task switching). Note that this is the only
	directory which may contain assembler files and which is
	different for every architecture. If you begin your work on
	some new architecture, make such a directory for your
	hardware and put all hardware dependent files in there. It
	is a rule that you can do anything inside this directory as
	long as it has no influence on the other files and
	directories. The directory must support the standard rules
	\shell{all} and \shell{clean} and read
	\filename{AROS/config/make.cfg}. All files generated by the
	makefile should go into \filename{$(OSGENDIR)}.

linux/ -

m68k-emul/ - Untested assembler code for machines which have an
	680x0 CPU but which are not Amigas (Mac, for example).

m68k-native/ - Assembler code for Amiga hardware.

machine.c -

make.cfg - Global settings for the Makefiles. Each makefile reads this file
	before it does anything else (well, almost... most makefiles set a
	path to this file first :-) ) It sets up some interesting paths:

	\begin{description}
	\item{$(OSGENDIR)} Use this path for all files which should go into
		the OS itself.
	\end{description}

