MudOSa4DGD/
MudOSa4DGD/bin/
MudOSa4DGD/data/
MudOSa4DGD/doc/
MudOSa4DGD/doc/driver/
MudOSa4DGD/doc/efun/bitstrings/
MudOSa4DGD/doc/efun/command/
MudOSa4DGD/doc/efun/communication/
MudOSa4DGD/doc/efun/heart_beat/
MudOSa4DGD/doc/efun/interactive/
MudOSa4DGD/doc/efun/inventory/
MudOSa4DGD/doc/efun/living/
MudOSa4DGD/doc/efun/mappings/
MudOSa4DGD/doc/efun/strings/
MudOSa4DGD/doc/efun/uid/
MudOSa4DGD/doc/funs/
MudOSa4DGD/doc/language/
MudOSa4DGD/mudlib/dgd/doc/
MudOSa4DGD/mudlib/dgd/lib/include/dgd/
MudOSa4DGD/mudlib/dgd/lib/std/
MudOSa4DGD/mudlib/dgd/lib/sys/
MudOSa4DGD/mudlib/dgd/log/
MudOSa4DGD/mudlib/log/
MudOSa4DGD/mudlib/std/include/
MudOSa4DGD/mudlib/std/obj/
/*
 * compile_object.c
 *
 * Assure that master program is loaded and __create() called after
 * compilation.
 *
 * (C) Frank Schmidt, Jesus@NorseMUD
 *
 */


/* compile a file */
static object compile_object(string file) {
  object ob;

#ifdef DEFAULT_SRC_EXTENSION
  /* accept objectnames ending with ".c" */
  int i;
  if ((i=strlen(file)) >= 2 && file[i-2..] == DEFAULT_SRC_EXTENSION)
    file = file[0..i-3];
#endif

  if ((ob=::compile_object(file)) && (previous_program() != DRIVER ||
      previous_function() != "call_object")) {
    /* call dummy function in program to ensure __create() gets called */
    ::call_other(ob, "??");
  }
  return ob;
}