Here's a straight forward set of steps for adding a new module to your NakedMud game engine.
- Hera of Athens (athensmud.com)  p.s. NOM stands for Name of Module.

Edit Makefile in Src Directory:
In the area for optional Modules, Add:
Modules += (name of module)

In the Src Directory 
type:
mkdir (name of module)
create files:
module.mk

module.mk:
# include all of the source files contained in this module
SRC += (nom)/(nom).c

nom.c:
// include all the header files we will need from the mud core
#include "../file.h"

// include headers from other modules that we require
#include "../mod/mod.h"

// include headers for this module
# include "nom.h"

// boot up the module

void init_nom(void)
{
}

nom.H:
#ifndef NOM_H
#define NOM_H
// this function should be called when the mud first boots up.
// calling it will initialize the module for use.
void init_nom(void);
#endif // NOM_H


In mud.h (main src directory):    (this line can be commented out to shut the whole module off)
with the rest of the module definitions add:
#define MODULE_NOM

In gameloop.c, call the init fucntion:
In headers for optional modules:
#ifdef MODULE_NOM
#include "nom/nom.h"
#endif

Farther down in gameloop.c, where modules are initialized, in the main() function:
#indef MODULE_NOM
  log_string("Initializing nom system.");
  init_nom();
#endif