1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
#include "icmconf"
#ifndef USE_ECHO
#define USE_ECHO ON
#endif
#ifdef USE_VERSION
#include "VERSION"
#else
#define VERSION "0.01.00"
#endif
#ifndef ICM_DEP
#define ICM_DEP "-V go"
#endif
#ifdef MULTICOMP
list multicomp = strtok(MULTICOMP, " \t");
#endif
list g_classes; // all class-directories
int g_nClasses; // number of class-directories
list g_classLines; // list of all lines in CLASSES
list g_classLine; // line of the CLASSES file
string g_mainBase; // basename of MAIN if a program is built.
// this becomes the name of the .gch file in the
// base directory. It is not used with library
// constructions.
#define _s 1 // option values
#define _h 2
list g_options = ["-c", "-s", "-h"];
int g_option; // specified option
#define _notFound -1
// command to execute see also function getCommand below.
#define _clean 0
#define _cleanTmp 1
#define _cleanGch 2
#define _install 3
#define _library 4
#define _program 5
list g_commands = ["clean", "cleantmp", "cleangch", "install",
"library", "program"];
int g_command; // specified command
#define _iProgram 0
#define _iStatic 1
#define _iShared 2
list g_installArgs = ["program", "static", "shared" ];
int g_installType;
string g_installDest; // path to install compiled products in
int g_compiled; // set to 1 if at least one source was compiled
// (used by REFRESH to relink the program)
string g_version = VERSION;
string g_compiler;
string g_cwd = chdir(""); // initial working directory
string g_gchDir = TMP_DIR + "/gch"; // storage of .gch files
#ifdef SPCH
list g_spch = strtok(SPCH, " \t");
#ifdef SPCH_ARGS
#define USING_ARGS ${SPCH_ARGS}
#endif
#ifdef SPCH_FILE
#ifndef USING_ARGS
#define USING_ARGS ${SPCH_FILE}
#endif
#endif
#ifdef USING_ARGS
list g_spchArgs = strtok(USING_ARGS, " \t");
#else
list g_spchArgs = (list)"spch";
#endif
#endif
#ifdef CLS
int g_cls = 1;
#endif
#include "ib/requireih"
#include "ib/spchprecomp"
#include "ib/md"
#include "ib/showcd"
#include "ib/setopt"
#include "ib/setgcompiler"
#ifdef PARSER_DIR
#include "ib/checkgrammar"
#endif
#ifdef SCANNER_DIR
#include "ib/checklexer"
#endif
#include "ib/setclasses"
#ifdef USE_ALL
#include "ib/cleanuseall"
#endif
#include "ib/cleanprecomp"
#include "ib/cleantmp"
#include "ib/clean"
// #include "ib/stripshared"
#include "ib/install"
#include "ib/inspect"
#include "ib/compileall"
#ifdef LIBRARY
#include "ib/staticlibrary"
#ifdef SHARED
#include "ib/sharedlibrary"
#endif
#endif
#ifdef SPCH
#include "ib/precompilespch"
#endif
#ifdef PRECOMP
#include "ib/loadprecompile"
#include "ib/precompileheaders"
#endif
#include "ib/librarypreamble"
#include "ib/buildlibraries"
#include "ib/link"
#include "ib/program"
#include "ib/getcommand"
#ifdef PRECOMP
#include "ib/storegch"
#endif
#ifdef CLS
#include "ib/cls"
#endif
#include "ib/main"
|