Send all bug reports, suggestions, and opinions to the author:
Steffen.Kaiser@FH-Rhein-Sieg.DE

This library contains source code files of two kinds. Kind 1) was developed
to make DDS Micro-C and Borland C more compatible to each other. Kind 2) are
supplemental functions, such as handling MCBs, environment segments, and
the command line. There is no "real" program here.
Newly added is the support for Pacific C (HI Tech C) compiler v7.51.

The library is named:	SUPPL_%.LIB
where % stands for the memory model.

By the way, this library was not primarily created to serve the need of
FreeDos. But the sources are released under the GNU license and handle
various points of the DOS programming environment.



THE MAKEPROCESS

There are two ways to compile this library:
1) The direct way by invoking either "BC_COMPILE.BAT" or "MC_COMPILE.BAT".
	Both accept one argument, either the letter indicating the memory
	model (t, s, m, c, l, or h) or 'all'. Latter causes to generate
	all the memory models.
2) The fine way by using DMake.

USING DMAKE

The Makefile is written for DMake in conjunction with my programming
environment, involving the FD_*.MK global Makefiles and the DMake
startup Makefile STARTUP.MK. (All are distributed here; the STARTUP.MK
assumes the patched DMake! It has been uploaded some time ago.)

As I have been using the following programming environment since..., well,
for quite a long time (and not only for FreeDos related stuff):
\FREEDOS\.............................. FreeDOS path
         SRC\.......................... sources
             BIN\...................... Executables used during the make process
             INCLUDE\.................. include files
             LIB\...................... libraries
                 BC45\................. library files make'ed for Borland C v4.5
                 MC\................... library files make'ed for DDS Micro-C
                 SUPPL\................ Source code of the supplemental library
this is the fundamental structure in the Makefile, too.

These environment variables control the make process:
%FREEDOS% ........... Root of the FreeDOS tree (aka \FREEDOS)
%COMPILER% .......... Currently used compiler in the format:
                      <id><version>
                      with: <id> alphabetic, e.g. BC and MC
                      and   <version> numeric, e.g. 45
                      Depending of the compiler, the DMake startup file decides
                      what command to use to compile C files and what default
                      configuration is to be used.
%NDEBUG% ............ If set, turning off debugging. This causes to set the
                      NDEBUG macro in the C files, what causes assert() to
                      be expanded to nothing.
%MCDIR% ............. Micro-C directory, because MC does locate global header
                      files only in this directory.

The FD_INIT.MK sets up all the internally make variables to this structure.
$(FREEDOS) := \FREEDOS
$(FDSRC)   := $(FREEDOS)\SRC
$(FDBIN)   := $(FDSRC)\BIN
$(FDLIB)   := $(FDSRC)\LIB\$(_COMPILER)
$(FDINC)   := $(FDSRC)\INCLUDE

The FD_EXIT.MK sets up several standard targets, such as clobber, clean,
and the message library (which is not used here).

On startup, the Makefile tries to identify, if the circumstances, under which
already make'ed OBJ files were created, are the same; if not, the old OBJ files
and the old library will be deleted. If no change was detected, but there is
no target library in the current directory, one is copied from $(FDLIB).

On success, the Makefile will copy the library to $(FDLIB),& all header files
to both $(FDINC) and $(MCDIR).
