]>
Commit | Line | Data |
---|---|---|
d97b9d80 | 1 | /**/# $Source$ |
d97b9d80 | 2 | /**/# |
3 | ||
4 | /* | |
5 | * Configuration options. | |
6 | */ | |
7 | ||
8 | /* GLOBAL_CDEFS are passed to every C compile statement */ | |
9 | /* Here are some of the common definitions which you might add to GLOBAL_CDEFS: | |
2e24270b | 10 | * HESIOD - use hesiod lookup Moira server name |
11 | * ZEPHYR - report critical errors via Zephyr | |
12 | * SYSLOG42 - report critical errors via 4.2BSD-style syslog routines | |
13 | * ATHENA - Athena-local hacks other sites probably don't want | |
14 | * GDSS - use the generic data signature service to verify user info | |
15 | * DBMS=xxx - currently supported is INGRES, INFORMIX, ORACLE | |
d97b9d80 | 16 | * ULTRIX022 - if you are running on pre-3.0 Ultrix. |
17 | * SunOS=xx - if you are running SunOS. Set xx to 10 times the release | |
18 | * number (e.g. SunOS 3.5 => -DSunOS=35, SunOS 4.0 => -DSunOS=40) | |
19 | * NO_GETUSERSHELL - if your system doesn't have getusershell() in libc | |
20 | * (type 'nm /lib/libc.a | grep getusershell', if something | |
21 | * shows up, you should NOT turn this flag on) | |
d97b9d80 | 22 | */ |
23 | ||
2e24270b | 24 | /* Curses library */ |
25 | #ifdef SOLARIS | |
26 | CURSES= -L/usr/css/lib -lcurses -ltermcap | |
27 | #else | |
28 | CURSES= -lcurses -ltermcap | |
29 | #endif | |
30 | ||
31 | #ifdef _AIX | |
32 | OSDEFS=-D_BSD -D_BSD_INCLUDES -DPOSIX | |
33 | OSLIBS=-lbsd | |
34 | CURSES=-lcurses | |
35 | #endif | |
36 | ||
37 | #if defined(SOLARIS) | |
38 | OSDEFS= -DPOSIX -DSOLARIS -I/usr/openwin/include | |
39 | OSLIBS= -L/usr/ccs/lib -lcurses -ltermcap -lresolv \ | |
40 | -lsocket -lnsl -lc /usr/ucblib/libucb.a -lelf -ldl | |
41 | CURSES= | |
42 | /* the curses and termcap libs are where they are on purpose. -vrt 4/28/93 | |
43 | */ | |
44 | #endif | |
45 | ||
46 | #ifdef NeXT | |
47 | OSLIBS= -lresolv | |
edd5054f | 48 | #endif |
d97b9d80 | 49 | |
2e24270b | 50 | |
51 | GLOBAL_CDEFS= -DHESIOD -DZEPHYR -DGDSS -DATHENA -DDBMS=INGRES -I/usr/athena/include $(OSDEFS) | |
52 | ||
53 | ||
54 | /* SRCTOP is the root of the Moira source tree */ | |
55 | SRCTOP=/mit/moiradev/src | |
d97b9d80 | 56 | |
57 | /* DESTDIR is the root of the tree to install into. | |
58 | * If null, install into the running system. | |
59 | * | |
60 | * DESTDIR='/' is guaranteed to cause trouble for systems which don't | |
61 | * like double slashes in pathnames. | |
62 | * | |
63 | * All the installed programs and files are put into ${DESTDIR}/wherever, e.g. | |
64 | * kinit would get installed into ${DESTDIR}${PROGDIR}/kuser | |
65 | */ | |
66 | ||
67 | DESTDIR= | |
68 | ||
69 | /* | |
70 | * These directories should be subdirectories of DESTDIR; | |
71 | * they show up as absolute pathnames here. | |
72 | */ | |
73 | /* | |
74 | * Note: USRDIR should be the parent of most of these directories. | |
75 | * If it is not, you may get errors when installing (the installation | |
76 | * process attempts to create USRDIR, in order to assure that all the | |
77 | * parents of these directories exist. | |
78 | */ | |
79 | USRDIR= /usr | |
2e24270b | 80 | ETCDIR= /usr/athena/etc |
81 | PROGDIR=/usr/athena/bin | |
d97b9d80 | 82 | LIBDIR= /usr/athena/lib |
d97b9d80 | 83 | LINTLIBDIR = /usr/lib/lint |
2e24270b | 84 | INCLDIR= /usr/athena/include |
85 | MANDIR= /usr/athena/man | |
86 | ||
d97b9d80 | 87 | |
88 | /* | |
2e24270b | 89 | * Define SVRBUILD if this machine has your DBMS installed on it so |
90 | * that the server programs can be built which link against the DBMS | |
91 | * libraries. | |
92 | */ | |
93 | /* #define SVRBUILD */ | |
94 | ||
95 | /* Define USELOCALTOOLS if you already have built and installed in | |
96 | * your environment the following tools: | |
97 | imake | |
98 | makedepend | |
99 | */ | |
100 | #define USELOCALTOOLS | |
101 | ||
102 | /* Define USELOCALLIBS if you already have built and installed in | |
103 | * your environment the following libraries and associated tools: | |
104 | ss | |
105 | com_err | |
d97b9d80 | 106 | */ |
2e24270b | 107 | #define USELOCALLIBS |
d97b9d80 | 108 | |
109 | /* | |
2e24270b | 110 | * Define HESIOD if you have hesiod installed on your system and want |
111 | * to use it for the Moira clients to find the Moira server. | |
d97b9d80 | 112 | */ |
2e24270b | 113 | #define HESIOD |
d97b9d80 | 114 | |
115 | /* | |
2e24270b | 116 | * Define ZEPHYR if you have zephyr installed on your system and want |
117 | * to use it to report Moira server errors. Also define the library | |
118 | * to link against. | |
d97b9d80 | 119 | */ |
2e24270b | 120 | #define ZEPHYR |
121 | LZEHPYR=-lzephyr | |
d97b9d80 | 122 | |
123 | /* | |
2e24270b | 124 | * Define GDSS if you use the Generic Data Signature Service to |
125 | * stamp user records to guarentee their authenticity. Also define | |
126 | * location of library and includes. | |
d97b9d80 | 127 | */ |
2e24270b | 128 | #define GDSS |
129 | LIBGDSS= /mit/gdss/`machtype`/libgdss.a | |
130 | GDSSINC= -I/mit/gdss/include | |
d97b9d80 | 131 | |
132 | /* | |
2e24270b | 133 | * Define your DBMS here. Currently, the code will work with either |
134 | * INGRES or INFORMIX. | |
d97b9d80 | 135 | */ |
2e24270b | 136 | #define INGRES |
d97b9d80 | 137 | |
138 | /* | |
2e24270b | 139 | * Define NEED_STRCASECMP if you don't have strcasecmp() in your libc. |
140 | * (likely for older 4.3 systems and pre-4.3 systems) | |
d97b9d80 | 141 | */ |
2e24270b | 142 | /* #define NEED_STRCASECMP */ |
d97b9d80 | 143 | |
144 | /* | |
2e24270b | 145 | * Define USELINT if you want to build lint libraries while building |
146 | * Moira. | |
d97b9d80 | 147 | */ |
a11f598a | 148 | #if !defined(NeXT) && !defined(_AIX) && !defined(SOLARIS) |
2e24270b | 149 | #define USELINT |
150 | #endif | |
d97b9d80 | 151 | |
152 | /* | |
153 | * LINTLIBFLAG should be the flag used to tell lint to create a lint | |
154 | * library. On most BSD systems, this is -C | |
155 | */ | |
2e24270b | 156 | #if defined(ultrix) || defined(_AIX) |
157 | LINTLIBFLAG=-o | |
d97b9d80 | 158 | #else |
2e24270b | 159 | LINTLIBFLAG=-C |
d97b9d80 | 160 | #endif |
161 | ||
2e24270b | 162 | MR_LIB=$(BUILDTOP)/lib/libmoira.a |
163 | MR_LIBDEP=$(MR_LIB) | |
164 | MR_LINTLIB=$(BUILDTOP)/lib/llib-lmoira.ln | |
165 | GDB_LIB=$(BUILDTOP)/gdb/libmrgdb.a | |
166 | GDB_LIBDEP=$(GDB_LIB) | |
167 | GDB_LINTLIB=$(BUILDTOP)/gdb/llib-lmrgdb.ln | |
168 | ||
169 | ||
d97b9d80 | 170 | /* |
171 | * The name of a command which compiles error tables. | |
172 | */ | |
2e24270b | 173 | #ifdef USELOCALLIBS |
174 | COMPILE_ET= compile_et | |
175 | #else | |
d97b9d80 | 176 | COMPILE_ET= $(BUILDTOP)/util/et/compile_et |
2e24270b | 177 | #endif |
d97b9d80 | 178 | /* |
179 | * Loader argument to get the com_err library | |
180 | */ | |
2e24270b | 181 | #ifdef USELOCALLIBS |
182 | COM_ERR = -lcom_err | |
183 | #else | |
d97b9d80 | 184 | COM_ERR = $(BUILDTOP)/util/et/libcom_err.a |
2e24270b | 185 | #endif |
d97b9d80 | 186 | /* |
187 | * Dependency name for COM_ERR, if any | |
188 | */ | |
2e24270b | 189 | #ifndef USELOCALLIBS |
d97b9d80 | 190 | COM_ERR_DEP = $(COM_ERR) |
2e24270b | 191 | #endif |
d97b9d80 | 192 | /* |
193 | * The name of a command which compiles command tables. | |
194 | */ | |
2e24270b | 195 | #ifdef USELOCALLIBS |
196 | MAKE_COMMANDS= mk_cmds | |
197 | #else | |
198 | MAKE_COMMANDS= $(BUILDTOP)/util/ss/mk_cmds | |
199 | #endif | |
d97b9d80 | 200 | /* |
201 | * Loader argument to get the ss library | |
202 | */ | |
2e24270b | 203 | #ifdef USELOCALLIBS |
204 | SS_LIB = -lss | |
205 | #else | |
d97b9d80 | 206 | SS_LIB = $(BUILDTOP)/util/ss/libss.a |
2e24270b | 207 | #endif |
d97b9d80 | 208 | /* |
209 | * Dependency name for SS_LIB, if any | |
210 | */ | |
2e24270b | 211 | #ifndef USELOCALLIBS |
d97b9d80 | 212 | SS_LIBDEP = $(SS_LIB) |
2e24270b | 213 | #endif |
d97b9d80 | 214 | |
2e24270b | 215 | LLIB = -L/usr/athena/lib |
216 | ||
217 | /* libraries most Moira programs use */ | |
218 | #ifdef HESIOD | |
219 | CLIBS= $(MR_LIB) $(GDB_LIB) $(LLIB) $(LZEPHYR) $(COM_ERR) -lkrb -ldes -lhesiod | |
220 | #else | |
221 | CLIBS= $(MR_LIB) $(GDB_LIB) $(LLIB) $(LZEPHYR) $(COM_ERR) -lkrb -ldes | |
222 | #endif | |
223 | ||
224 | /* libraries SQL programs need */ | |
225 | #ifdef INGRES | |
226 | SQL_LIB= /usr/ingres/lib/libingres.a -lm | |
227 | #endif | |
228 | #ifdef INFORMIX | |
229 | SQL_LIB= /usr/informix/lib/libsql.a | |
230 | #endif | |
231 | #ifdef ORACLE | |
232 | SQL_LIB= /usr/oracle/lib/######### | |
233 | #endif | |
d97b9d80 | 234 | |
2e24270b | 235 | |
236 | /* Define NEED_STRCASECMP if your C library doesn't have the BSD-style | |
237 | * case insensitive string compare strcasecmp(). | |
238 | */ | |
239 | #ifdef _AIX | |
240 | #define NEED_STRCASECMP | |
241 | #endif | |
242 | ||
243 | /* HAS_VSPRINTF should be defined if this function is in your C library */ | |
244 | #if defined(_AIX) || defined(sun) || defined(_AUX_SOURCE) | |
245 | #define HAS_VSPRINTF | |
246 | #else | |
247 | #undef HAS_VSPRINTF | |
248 | #endif | |
d97b9d80 | 249 | |
250 | /* | |
251 | * Define DEBUG_LIBS if you want to create versions of the libraries | |
252 | * that have useful debugging information (the default rules will strip | |
253 | * out extra symbols, including debugging symbols, from the symbol | |
254 | * table.) NOTE: This only works if you do NOT turn on PROFILED_LIBS | |
255 | * below. | |
256 | * NOTE: this doesn't turn on the debugging flag for your compiler; do | |
257 | * that with the DBG make variable, below. | |
258 | */ | |
259 | /* #define DEBUG_LIBS */ | |
260 | ||
261 | /* | |
262 | * Define PROFILED_LIBS if you want to create profiled versions of the | |
263 | * libraries used in Kerberos | |
264 | */ | |
265 | #define PROFILED_LIBS | |
266 | ||
267 | /* | |
268 | * Define PROF_FLAG to be the flag to be passed to your C compiler to | |
2e24270b | 269 | * turn on profiling. |
d97b9d80 | 270 | */ |
2e24270b | 271 | #ifdef vax |
272 | #define PROF_FLAG -pg | |
273 | #else | |
d97b9d80 | 274 | #define PROF_FLAG -p |
2e24270b | 275 | #endif |
276 | ||
d97b9d80 | 277 | /* |
278 | * The name of a command which builds an object library. | |
279 | */ | |
280 | ARCHIVE= ar cru | |
281 | /* | |
282 | * The name of another program needed to post-process the archive. | |
283 | */ | |
2e24270b | 284 | #ifdef SOLARIS |
285 | RANLIB= /bin/true | |
286 | #else | |
d97b9d80 | 287 | RANLIB= ranlib |
2e24270b | 288 | #endif |
d97b9d80 | 289 | |
290 | ||
291 | /* | |
292 | * Install commands: installs a file into the destination tree. | |
293 | * These commands are called with two arguments: the source and the | |
294 | * destination of the install. | |
295 | */ | |
296 | /* install a file */ | |
297 | INSTALLFILE= install -c -m 444 | |
298 | /* install a library */ | |
299 | INSTALLLIB= install -c -m 444 | |
300 | /* install a program */ | |
301 | INSTALLPROG= install -c -m 555 | |
302 | /* invoke raw install program */ | |
303 | INSTALLRAW= install | |
d97b9d80 | 304 | |
305 | LD=ld /* The name of the target's linker */ | |
306 | ||
307 | AS=as /* The name of the target's assembler */ | |
308 | ||
309 | LINT=lint /* The name of `lint' */ | |
310 | ||
2e24270b | 311 | #ifdef SOLARIS |
312 | CC=gcc -traditional | |
313 | #else | |
314 | #ifdef _AIX | |
315 | #ifdef i386 | |
316 | CC=cc -q -D_BSD -DBSD_INCLUDES | |
317 | #else /* i386 */ | |
318 | CC=cc -D_BSD -D_BSD_INCLUDES /* Use BSD style header files & be quiet */ | |
319 | #endif /* i386 */ | |
320 | #else /* _AIX */ | |
d97b9d80 | 321 | CC=cc /* The name of the C compiler for the target */ |
2e24270b | 322 | #endif /* _AIX */ |
323 | #endif /* SOLARIS */ | |
d97b9d80 | 324 | |
2e24270b | 325 | CCRO=$(CC) -R /* Compile with initialized data read-only |
d97b9d80 | 326 | & shared (if possible) */ |
327 | ||
328 | HCC=$(CC) /* The name of the C compiler on _this_ | |
329 | * machine | |
330 | */ | |
331 | ||
332 | CPP=$(CC) -E /* A command which invokes the C preprocessor */ | |
333 | ||
da6b2d4a | 334 | #ifndef _AIX /* RS6K optomizer is buggy, we don't know if it wall affect moira */ |
d97b9d80 | 335 | DBG=-O /* Debug or optimize? */ |
da6b2d4a | 336 | #endif /* _AIX */ |
d97b9d80 | 337 | |
338 | HCFLAGS=$(CFLAGS) | |
339 | ||
340 | TAGGER=etags /* Program to index source files */ | |
341 | ||
342 | MAKE=make /* name of make program */ | |
343 | RM=rm -f /* delete one or more files/directories/links */ | |
344 | MV=mv /* rename/move a file */ | |
345 | CP=cp /* copy a file */ | |
346 | LN=ln -s /* create a link */ | |
347 | LPR=lpr -p /* print a file or files */ | |
348 | CHMOD=chmod /* change mode of a file */ | |
2e24270b | 349 | AWK=awk /* used to filter embeded SQL files */ |