Makefile rules

Submitted by raevnos on Mon, 2007-06-04 00:57

This page describes some of the more useful Makefile rules for PennMUSH.

Most people use 'make update', 'make', and 'make install' and get by fine. There's a lot of other options, of which the more useful are mentioned here. Some have not been used in living memory and are due to get cleaned up.

The default rule run by just plain 'make'. Rebuilds hdrs/cmds.h, /hdrs/funs.h, and other headers. Builds netmud and info_slave.
Updates options.h from options.h.dist and game/mush.cnf from mush/mushcnf.dist, to add new options or remove deleted ones.
Makes symlinks from game/netmush to src/netmud and the same for info_slave.
Builds just netmud.
Creates an etags file in src/TAGS for use with emacs (Move the cursor over a function name, and hit M-.)
The same as etags but for vi
Builds src/portmsg, the port announcer program that can be used when a mush is down or moved to give people who try to connect a message.
Runs indent on Penn source to re-format it to project standards.
Rebuilds the file dependencies in src/ that determine when files need to be recompiled. Requires the makedepend program, part of X11 or its own package depending on the OS distribution. Re-run ./config.status to generate a new src/Makefile if it's not done by make for you. (Pending feature as of this writing.)
Delete all object and executables in src/
Delete a lot more files than just make clean, including game/mush.cnf. Use with care.
Rebuilds the help-file change logs from the CHANGES.* files. Requires the Sort::Versions perl module.

And more.