--- /dev/null
+ Oct 28 01:57 1998 from LoanShark @uncnsrd
+what i've done with the Makefile.in most recently is to replace all the
+rules that explicitly generated .o files with a set of suffix rules. these
+are the `.c.o:', `.c.mo:', and `.c.ro:' targets that appear in the
+Makefile.in. the idea is, make now knows how to generate files named
+`foo.o', `foo.mo', or `foo.ro' from a file `foo.c'. a .o file is compiled
+with standard compiler flags; a .ro (reentrant object) file is also
+compiled with -D_REENTRANT; and a .mo (module object) is compiled with
+-D_REENTRANT plus -fPIC and -DPIC to produce position-independent code for
+a shared library. the suffix rules, together with auto dependency
+generation, accomplish two things: when you want to link a particular
+module into a binary, all you have to do is list it, with the appropriate
+extension, as a dependency of the binary, and add it to the link command
+line for the target. you don't have to worry about writing a rule to
+generate the object with the proper flags, or keep the header file
+dependencies updated. secondly, using different file extensions allows us
+to compile _REENTRANT and non-REENTRANT versions of files like config.c,
+tools.c, and snprintf.c that are used in both the clients and the server.
+
+ autodependency generation is implemented by generating a bunch of .d
+files (with another suffix rule) using $(CC) - M and "-include"-ing them
+from the main Makefile. the .d files are made to depend on the .c files
+they correspond to, and the referenced header files, so they're updated as
+needed. the only version of make that I know for sure works with this is
+GNU make, but the Makefile should still work on other versions of Unix
+make, just without the autodependency stuff.
+
+
+ Oct 28 20:49 1998 from LoanShark @uncnsrd
+one thing I forgot to mention about the autodependency generation: for a
+file to be included in the autodepend process, it must be listed in the
+SOURCES macro near the top of Makefile.in.
+ also, I've added an 'install' target to the makefile. this will make it
+possible to build RPM's, and bring the installation process closer to that
+of other packages, which if you're using the new configure script goes
+like this:
+ ./configure [--enable-ansi-color] [--disable-auto-login] [--prefix=/foo]
+
+
+ --prefix specifies the location the BBS will run from,
+/usr/local/citadel by default.
+ to build a highly optimized version without debugging symbols, you could
+ do something like this (with the bourne shell):
+ CC=egcs CFLAGS='-O6 -fomit-frame-pointer' ./configure
+ after configuring, simply type `make', then su to a user who has
+appropriate permissions, and `make install'. then run setup as usual.
+ are there any other areas that need to be cleared up?
+