source: golgotha/src/make/i4_make.hh @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 11 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
File size: 2.3 KB
RevLine 
[80]1/********************************************************************** <BR>
2  This file is part of Crack dot Com's free source code release of
3  Golgotha. <a href="http://www.crack.com/golgotha_release"> <BR> for
4  information about compiling & licensing issues visit this URL</a>
5  <PRE> If that doesn't help, contact Jonathan Clark at
6  golgotha_source@usa.net (Subject should have "GOLG" in it)
7***********************************************************************/
8
9#ifndef __I4_MAKE_HH
10#define __I4_MAKE_HH
11
12#include "table.hh"
13
14enum {
15  BUILD_DEBUG  =1<<0,
16  BUILD_OPT    =1<<1,
17  BUILD_PROF   =1<<2,
18  BUILD_CLEAN  =1<<3,
19  BUILD_BACKUP =1<<4,
20  BUILD_LAST   =BUILD_BACKUP
21};
22
23
24enum os_type {
25  OS_WIN32,
26  OS_LINUX
27};
28
29enum
30{
31  WIN32_CONSOLE_APP,
32  WIN32_WINDOWED_APP
33};
34
35
36// global options
37struct mk_options_struct
38{
39  int show_deps;
40  int build_flags;
41  int continue_on_error;
42  int no_libs;
43  int verbose,quiet;
44  int unix_libs_are_shared;
45  int no_compile;
46  int no_tmp;
47  int no_syms;
48  int show_includes;
49
50  char *project_file;
51  char *target_name;
52  char *tmp_dir;
53  list targets_to_build;
54  list targets_built;
55  char slash_char;
56 
57  os_type os;
58
59  int is_unix() { if (os==OS_LINUX) return 1; else return 0; }
60
61  mk_options_struct()
62  {
63    project_file="project.i4";
64    continue_on_error=0;
65    build_flags=0;
66    target_name=0;
67    verbose=0;
68    quiet=0;
69    no_libs=0;
70    show_deps=0;
71    unix_libs_are_shared=0;
72    no_compile=0;
73    tmp_dir=0;
74    no_tmp=0;
75    no_syms=0;
76    show_includes=0;
77  }
78
79  void get(int argc, char **argv);
80};
81
82list mk_global_defines;
83
84// options dependant on each target
85struct mk_target_struct
86{
87  char *def_file;
88
89  char *target;
90  char *target_type;
91  char *outdir;
92
93  list dlls, libs, src, inc, defines;
94
95
96  int app_type;
97  char *cc_flags, *link_flags;
98
99  void reset()
100  {
101    app_type=WIN32_CONSOLE_APP;
102    def_file=0;
103    target=0;
104    cc_flags=0;
105    link_flags=0;
106    target=0;
107    target_type=0;   
108    outdir=0;
109
110    dlls.clear();
111    libs.clear();   
112    src.clear();
113    inc.clear();
114    defines.clear();
115  }
116
117  mk_target_struct()
118  {
119    reset();
120  }
121
122
123};
124
125extern mk_options_struct mk_options;
126
127#endif
Note: See TracBrowser for help on using the repository browser.