                   Compiling the ls.c program

Define the symbolic constant MSC if compiling with the Microsoft C compiler,
version 3.0 or later.

Define the symbolic constant CIC86 if compiling the with CI-C86 compiler of
Computer Innovations.

Define the symbolic constant DESMET if compiling with DeSmet's C compiler.
Current versions do not permit such definition on the command line; add
the line "#define DESMET" at the top of the file "intdefs.h"

For other compilers: consult the file "intdefs.h" for the symbolic constants
used in the program, together with their definitions for the three above
compilers.  Most compiler differences lie in the DOS interface, so a bit of
work with the compiler manual, using "intdefs.h" as a guide, should yield a
set of workable definitions.

Included in "intdefs.h" are a set of symbolic constants which can be 
customized to get the program to behave the way you like.  Each Boolean 
constant determines the default behavior of one aspect of the program. In most 
cases that default effect can be reversed by including the corresponding flag 
on the command line when "ls" is invoked.  As an example: 

/* customizing constants */

#define ID      1           /* always identify directory if 1 [-i] */
#define ALL     0           /* show hidden files by default if 1 [-a] */
#define LONG    0           /* long listing by default if 1 [-l] */
#define SCOLM   0           /* 1-column short listing by default if 1 [-c] */
#define LCOLM   1           /* 1-column long listing by default if 1 [-c] */
#define RSORT   0           /* reverse sort by default if 1 [-r] */
#define TSORT   0           /* time sort by default if 1 [-t] */
#define DU      0           /* include disk use by default if 1 */

With these initial values, "ls" will identify the directory on the first
displayed line (ID is 1) unless the command line has the "-i" flag, in
which case it will not print the identifying line.  If ID is defined as 0,
the default, and the effect of the flag, are both reversed: the directory
identification line is NOT displayed UNLESS the -i flag appears on the
command line.

This same logic applies to the other variables; choose the defaults that
appeal to you, then reverse them with command line flags when needed.
The above settings are the ones I prefer, but what do I know?

The "makefile" is designed for use with the excellent PD Unix-like version
of the "make" utility written by D. G. Kneller for the IBM PC.  If you do
not have and cannot obtain this utility, you can concatenate all of the
individual source files into one whopper and compile them all together.
You must remove the "#include" lines from the top of all but the first
file (main.c) for this to work.

The file "ls.uue" is a uuencoded executable file compiled with Microsoft C
v 3.0.  The defaults are the way I prefer them: the long single-column
listing and directory identification booleans are on, all others are off.
Recover the executable file using the command

     uudecode ls.uue

and then download the resulting ls.exe file using a BINARY transfer protocol
such as "image mode" in Kermit.

