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.

all
The default rule run by just plain 'make'. Rebuilds hdrs/cmds.h, /hdrs/funs.h, and other headers. Builds netmud and info_slave.
update
Updates options.h from options.h.dist and game/mush.cnf from mush/mushcnf.dist, to add new options or remove deleted ones.
install
Makes symlinks from game/netmush to src/netmud and the same for info_slave.
netmud
Builds just netmud.
etags
Creates an etags file in src/TAGS for use with emacs (Move the cursor over a function name, and hit M-.)
ctags
The same as etags but for vi
portmsg
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.
indent
Runs indent on Penn source to re-format it to project standards.
distdepend
Rebuilds the file dependencies in src/Makefile.in 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.)
clean
Delete all object and executables in src/
distclean
Delete a lot more files than just make clean, including game/mush.cnf. Use with care.
versions
Rebuilds the help-file change logs from the CHANGES.* files. Requires the Sort::Versions perl module.

And more.