home *** CD-ROM | disk | FTP | other *** search
-
- *****************WARNING******************
- Do not attempt to compile individual programs
- in individual program subdirectories!
- *****************WARNING******************
-
- MAKE CHANGES IN THE TOP-LEVEL MAKEFILE
-
- CALL MAKE FROM THE TOP LEVEL
-
- I have a weakness for complex, multilevel makefiles. Therefore, the
- makefiles included here are complex and multilevel. Always run make from
- the top-level directory. Try 'make help' for a listing of possible
- targets (the only one left out is randstr: compile it with make randstr).
- All the important variables are defined in the top-level makefile, and
- most of the make targets will crash and burn if they do not find the
- variables that they are looking for.
-
- The good part of this is that except for the datfiles tree, the
- sub-makefiles are all very simple. All the programs have rules of
- the form: program: program.o, with the appropriate link command.
- The only target safe to call in individual directories is clean.
-
- The makefiles for the datfiles subdirectory are complex in an attempt to
- avoid distributing any more data than needed. The offensive files are
- distributed in unrotated format; the make files have to rotate these
- files before strfiling them. The make clean routine has to be able to
- delete the rotated files without touching the unrotated ones.
-
- Pretty much everything is configurable in the top-level makefile, and it
- mostly has pretty decent comments telling you what it is that you're
- configuring. Read and change it as necessary.
-
- Amy A. Lewis alewis@email.unc.edu
-
-
- Notes for non-Linux users
- -------------------------
-
- The only system-dependant thing you should need to worry about is which
- C function library to use for regular expressions. Two are supported:
- the BSD regex library (re_comp/re_exec), and the POSIX regex library
- (regcomp/regexec). Which you should use depends on what functions are
- available, and which performs faster for you.
-
- If neither are available, you could try compiling the GNU Rx library,
- which offers a high-performance regular expression library with both BSD
- and POSIX interfaces. This is available at your nearest GNU software
- mirror.
-
- To select the BSD regex library, add -DBSD_REGEX to REGEXDEFS in the
- top-level Makefile. To select the POSIX regex library, add add
- -DPOSIX_REGEX to REGEXDEFS. If neither is defined, no regular
- expression support will be included.
-
- Using the POSIX regex library requires the POSIX regex data structures
- to be declared. This might be in the <regex.h> header, or in the <rx.h>
- header. Define -DHAVE_REGEX_H in REGEXDEFS if it is in the <regex.h>
- header, or -DHAVE_RX_H if it is in the <rx.h> header. If it turns out
- to be somewhere else for your platform, please report this to the
- current fortune-mod maintainer.
-
- The -DHAVE_REGEX_H and -HAVE_RX_H defines are also applicable to the BSD
- regex library, but as they do not use custom data structures, not using
- them should not result in anything more than "function not declared"
- warnings.
-
- -- Dennis L. Clark <dbugger@progsoc.uts.edu.au>
-