2 # Makefile for Regina REXX Interpreter
4 # Using gcc/emx on OS/2 with GNU make
7 SRCDIR=$(REGINA_SRCDIR)
8 SRCDIRN=$(REGINA_SRCDIRN)
11 include $(SRCDIR)\regina.ver
16 OPTIMIZE = -g -fbounds-checking -Wall
17 OPTIMIZE_DLL = -g -Wall
21 OPTIMIZE = -O3 -fomit-frame-pointer -Wall -DNDEBUG
22 OPTIMIZE_DLL = -O -Wall -DNDEBUG
30 THREADING_FILE = mt_notmt
32 THREADING = -Zmt -DREGINA_MULTI
34 THREADING_FILE = mt_os2
37 DYN_COMP = -DDYNAMIC -Zdll $(DYN_CRT)
46 USEFLISTS = -DNOFLISTS
58 GCI_SHO = gci_call.obj gci_convert.obj gci_execute.obj gci_helper.obj \
59 gci_prepare.obj gci_reginabridge.obj gci_rxfuncdefine.obj \
61 HAVE_GCI = -DHAVE_GCI -I$(SRCDIR)/gci -I.
64 DYN_CRT = -Zcrtdll -Zomf -mprobe
65 CEXTRA = -DOS2 -DEMX -funsigned-char $(HAVE_GCI) -DREGINA_VERSION_DATE=\"$(VER_DATE)\" -DREGINA_VERSION_MAJOR=\"$(VER_MAJOR)\" -DREGINA_VERSION_MINOR=\"$(VER_MINOR)\" -DREGINA_VERSION_SUPP=\"$(VER_SUPP)\"
67 DYN_COMP = -DDYNAMIC -Zdll $(DYN_CRT)
70 SHLIBS = $(SHLLIB).$(SHLPST)
71 SHLIMPLIB = $(SHLLIB).$(SHLPST)
73 DYNAMIC_LDFLAGS = $(THREADING_LINK) -lwrap $(STRIP_FLAG) -Zcrtdll -Zomf -mprobe
74 SHLDEF = $(SRCDIR)/$(SHLLIB)_os2_dll.def
75 SHL1 = emximp -o $(SHLLIB).$(LIBPST) $(SHLDEF)
76 SHL2 = emximp -o $(SHLLIB).lib $(SHLDEF)
82 LD_RXLIB_PRE = $(CC) -Zdll -Zomf -Zcrtdll #-Zso -Zsys
83 LD_RXLIB1 = -Zmap=test1.map -o rxtest1.dll $(SRCDIR)/test1_os2_dll.def $(SHLLIB).lib
84 LD_RXLIB2 = -Zmap=test2.map -o rxtest2.dll $(SRCDIR)/test2_os2_dll.def $(SHLLIB).lib
85 SHL_LD=gcc $(THREADING_LINK) -Zdll -Zcrtdll -Zomf -Zmap=regina.map -o $(SHLFILE).$(SHL) $(SHOFILES) $(SHLDEF) $(SOCKET)
86 SHL_TARGETS = $(SHLFILE).$(SHL) $(SHLFILE)$(EXE) pmregina.exe rxtest1.$(SHL) rxtest2.$(SHL)
93 LIBFLAGS = cr $(LIBFILE).$(LIBPST)
94 LIBLINK = $(LIBFILE).$(LIBPST)
98 RC = rc $(SRCDIRN)\reginaos2.rc $@
102 RANLIB_LIB=#ranlib $(LIBFILE).a
104 MISCDEFS = -I$(SRCDIR) -Wno-char-subscripts
105 #DEBUG = #-g -DNDEBUG #-Dlint
107 #OPTIMIZE = -O -DNDEBUG
109 COPT = $(DEBUGFLAG) $(CEXTRA) $(OPTIMIZE) $(PROF) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS)
110 COPT_DLL = $(DEBUGFLAG) $(CEXTRA) $(OPTIMIZE_DLL) $(PROF) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS) $(THREADING)
111 LINKOPT = $(DEBUGFLAG) $(OPTIMIZE) $(PROF) $(EEXTRA)
112 LINKOPT_DLL = $(DEBUGFLAG) $(OPTIMIZE_DLL) $(PROF) $(EEXTRA)
113 OTHERCOPT = $(DEBUGFLAG) $(OPTIMIZE) $(PROF) $(CEXTRA) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS)
114 OTHERCOPT_DLL = $(DEBUGFLAG) $(OPTIMIZE_DLL) $(PROF) $(CEXTRA) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS) $(THREADING)
117 #YACC = bison -ly #-d #-lyt
121 #LL = -L/store/lib -lfl
123 README = $(SRCDIR)/README.* COPYING-LIB
125 FILES = funcs builtin error variable interprt debug dbgfuncs \
126 memory parsing files misc os2funcs unxfuncs arxfuncs cmsfuncs shell rexxext stack \
127 tracing interp cmath convert strings library strmath signals \
128 macros envir wrappers options os_os2 os_other #r2perl
130 CSRCFILES = $(SRCDIR)/funcs.c $(SRCDIR)/builtin.c $(SRCDIR)/error.c $(SRCDIR)/variable.c \
131 $(SRCDIR)/interprt.c $(SRCDIR)/debug.c $(SRCDIR)/dbgfuncs.c $(SRCDIR)/memory.c $(SRCDIR)/parsing.c $(SRCDIR)/files.c \
132 $(SRCDIR)/misc.c $(SRCDIR)/unxfuncs.c $(SRCDIR)/arxfuncs.c $(SRCDIR)/cmsfuncs.c $(SRCDIR)/os2funcs.c $(SRCDIR)/shell.c $(SRCDIR)/rexxext.c $(SRCDIR)/stack.c \
133 $(SRCDIR)/tracing.c $(SRCDIR)/interp.c $(SRCDIR)/cmath.c $(SRCDIR)/convert.c $(SRCDIR)/strings.c $(SRCDIR)/library.c \
134 $(SRCDIR)/strmath.c $(SRCDIR)/signals.c $(SRCDIR)/macros.c $(SRCDIR)/envir.c $(SRCDIR)/expr.c \
135 $(SRCDIR)/wrappers.c $(SRCDIR)/options.c $(SRCDIR)/os_os2.c \
138 OFILES = funcs.$(OBJ) builtin.$(OBJ) error.$(OBJ) variable.$(OBJ) \
139 interprt.$(OBJ) debug.$(OBJ) dbgfuncs.$(OBJ) memory.$(OBJ) parsing.$(OBJ) files.$(OBJ) \
140 misc.$(OBJ) unxfuncs.$(OBJ) arxfuncs.$(OBJ) cmsfuncs.$(OBJ) os2funcs.$(OBJ) shell.$(OBJ) rexxext.$(OBJ) stack.$(OBJ) \
141 tracing.$(OBJ) interp.$(OBJ) cmath.$(OBJ) convert.$(OBJ) strings.$(OBJ) library.$(OBJ) \
142 strmath.$(OBJ) signals.$(OBJ) macros.$(OBJ) envir.$(OBJ) expr.$(OBJ) mt_notmt.$(OBJ) instore.$(OBJ) \
143 yaccsrc.$(OBJ) lexsrc.$(OBJ) options.$(OBJ) os_os2.$(OBJ) wrappers.$(OBJ) \
144 extstack.$(OBJ) rexxbif.$(OBJ) os_other.$(OBJ)
146 SHOFILES = funcs.obj builtin.obj error.obj variable.obj \
147 interprt.obj debug.obj dbgfuncs.obj memory.obj parsing.obj files.obj \
148 misc.obj unxfuncs.obj arxfuncs.obj cmsfuncs.obj shell.obj os2funcs.obj rexxext.obj stack.obj \
149 tracing.obj interp.obj cmath.obj convert.obj strings.obj library.obj \
150 strmath.obj signals.obj macros.obj envir.obj expr.obj $(THREADING_FILE).obj \
151 yaccsrc.obj lexsrc.obj wrappers.obj options.obj os_os2.obj \
152 drexx.obj client.obj rexxsaa.obj instore.obj \
153 extstack.obj rexxbif.obj os_other.obj \
156 DEMODIR = $(SRCDIR)/demo
157 DEMOFILES = $(DEMODIR)/*
158 TRIPDIR = $(SRCDIR)/trip
159 TRIPFILES = $(TRIPDIR)/*
161 ALLSRC = $(CFILES) $(HFILES)
163 HFILES = $(SRCDIR)/rexx.h $(SRCDIR)/defs.h $(SRCDIR)/extern.h $(SRCDIR)/regina_t.h \
164 $(SRCDIR)/config.h $(SRCDIR)/strings.h $(SRCDIR)/configur.h $(SRCDIR)/yaccsrc.h \
165 $(SRCDIR)/rxiface.h $(SRCDIR)/rexxsaa.h $(SRCDIR)/utsname.h
167 CFILES = $(SRCDIR)/yaccsrc.c $(SRCDIR)/lexsrc.c $(CSRCFILES) $(SRCDIR)/execiser.c \
168 $(SRCDIR)/rexxsaa.c $(SRCDIR)/rexx.c $(SRCDIR)/regina.c $(SRCDIR)/client.c \
169 $(SRCDIR)/r2perl.c $(SRCDIR)/test1.c $(SRCDIR)/test2.c
171 MTSSRC = $(SRCDIR)/en.mts $(SRCDIR)/pt.mts $(SRCDIR)/no.mts \
172 $(SRCDIR)/de.mts $(SRCDIR)/es.mts $(SRCDIR)/pl.mts \
173 $(SRCDIR)/tr.mts $(SRCDIR)/sv.mts
175 GCIHEADERS = $(SRCDIR)/gci/gci.h $(SRCDIR)/gci/embedded.h gci_convert.h
177 #.SUFFIXES: .sho $(SUFFIXES)
179 # Do not use default suffixes rule
183 all : rexx$(EXE) $(LIBFILE).$(LIBPST) execiser$(EXE) rxstack$(EXE) rxqueue$(EXE) $(SHL_TARGETS) mtb_files threader$(EXE) rexx.dll rexxapi.dll
185 $(CSRCFILES) : $(SRCDIR)/rexx.h
187 $(SRCDIR)/rexx.h : $(SRCDIR)/extern.h $(SRCDIR)/strings.h $(SRCDIR)/defs.h $(SRCDIR)/regina_t.h $(SRCDIR)/mt.h
189 rexx$(EXE) : $(OFILES) rexx.$(OBJ) nosaa.$(OBJ)
190 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o rexx$(EXE) $(OBJECTS) rexx.$(OBJ) nosaa.$(OBJ) $(LIBS) $(SOCKET)
191 -copy $(SRCDIRN)\reginaos2.ico
193 -$(LXLITE) rexx$(EXE)
195 regina : $(SHLFILE).$(SHL) regina.obj $(GETOPT)
196 $(CC) $(LINKOPT_DLL) -Zexe $(DYNAMIC_LDFLAGS) -o regina $(SRCDIR)/regina_os2.def regina.obj $(LIBS) $(SHLIBS) $(SOCKET)
198 regina$(EXE) : regina
199 -copy $(SRCDIRN)\reginaos2.ico
201 -$(LXLITE) regina$(EXE)
203 pmregina : $(SHLFILE).$(SHL) regina.obj $(GETOPT)
204 $(CC) $(LINKOPT_DLL) -Zexe $(DYNAMIC_LDFLAGS) -o pmregina regina.obj $(LIBS) $(SHLIBS) $(SOCKET) $(SRCDIRN)/pmregina.def
206 pmregina$(EXE) : pmregina
207 -copy $(SRCDIRN)\reginaos2.ico
209 -$(LXLITE) pmregina$(EXE)
211 execiser : execiser.obj $(SHLFILE).$(SHL)
212 $(CC) $(LINKOPT_DLL) -Zexe $(DYNAMIC_LDFLAGS) -o execiser execiser.obj $(LIBS) $(SHLIBS) $(SOCKET)
214 threader : threader.obj $(SHLFILE).$(SHL)
215 $(CC) $(LINKOPT_DLL) -Zexe $(DYNAMIC_LDFLAGS) -o threader threader.obj $(LIBS) $(SHLIBS) $(SOCKET)
217 execiser$(EXE) : execiser
218 -$(LXLITE) execiser$(EXE)
220 threader$(EXE) : threader
221 -$(LXLITE) threader$(EXE)
223 rxqueue$(EXE) : $(OFILES) rxqueue.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ)
224 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o rxqueue$(EXE) rxqueue.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ) $(SOCKET)
225 -$(LXLITE) rxqueue$(EXE)
227 rxstack$(EXE) : $(OFILES) rxstack.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ)
228 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o rxstack$(EXE) rxstack.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ) $(SOCKET)
229 -$(LXLITE) rxstack$(EXE)
231 $(LIBFILE).$(LIBPST): $(OFILES) client.$(OBJ) drexx.$(OBJ) rexxsaa.$(OBJ)
232 $(LIBEXE) $(LIBFLAGS) $(OBJECTS) client.$(OBJ) drexx.$(OBJ) rexxsaa.$(OBJ)
234 emxomf -p 32 -o $(LIBFILE).$(SHLPST) $(LIBFILE).$(LIBPST)
236 $(SHLFILE).$(SHL): $(SHOFILES) $(SHLDEF)
242 -copy $(SRCDIRN)\reginaos2.ico
244 -$(LXLITE) $(SHLFILE).$(SHL)
246 rexx.dll: os2rexx.obj
247 gcc $(THREADING_LINK) -Zdll -Zcrtdll -Zomf -Zmap=rexx.map -o rexx.dll os2rexx.obj $(SRCDIR)/os2/rexx.def
249 rexxapi.dll: os2rexxapi.obj
250 gcc $(THREADING_LINK) -Zdll -Zcrtdll -Zomf -Zmap=rexxapi.map -o rexxapi.dll os2rexxapi.obj $(SRCDIR)/os2/rexxapi.def
252 os2rexx.obj: $(SRCDIR)/os2/rexx.c
253 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c -o os2rexx.obj $(SRCDIR)/os2/rexx.c
255 os2rexxapi.obj: $(SRCDIR)/os2/rexxapi.c
256 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c -o os2rexxapi.obj $(SRCDIR)/os2/rexxapi.c
259 # Convert .mts to .mtb
261 mtb_files: msgcmp$(EXE) $(MTSSRC)
264 msgcmp$(EXE): msgcmp.$(OBJ)
265 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o msgcmp$(EXE) msgcmp.$(OBJ)
267 msgcmp.$(OBJ): $(SRCDIR)/msgcmp.c
268 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/msgcmp.c
271 # Rules for static objects
273 #$(SRCDIR)/lexsrc.c: $(SRCDIR)/lexsrc.l
274 # flex -Scontrib/flex.skl -8 -o$(SRCDIR)/lexsrc.c $(SRCDIR)/lexsrc.l
276 #$(SRCDIR)/yaccsrc.c $(SRCDIR)/yaccsrc.h: $(SRCDIR)/yaccsrc.y
277 # bison -d -o$(SRCDIR)/yaccsrc.c $(SRCDIR)/yaccsrc.y
279 funcs.$(OBJ) : $(SRCDIR)/funcs.c $(SRCDIR)/rexx.h
280 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/funcs.c
282 builtin.$(OBJ) : $(SRCDIR)/builtin.c $(SRCDIR)/rexx.h
283 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/builtin.c
285 error.$(OBJ) : $(SRCDIR)/error.c $(SRCDIR)/rexx.h
286 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/error.c
288 variable.$(OBJ) :$(SRCDIR)/variable.c $(SRCDIR)/rexx.h
289 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/variable.c
291 interprt.$(OBJ) :$(SRCDIR)/interprt.c $(SRCDIR)/rexx.h
292 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/interprt.c
294 debug.$(OBJ) : $(SRCDIR)/debug.c $(SRCDIR)/rexx.h
295 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/debug.c
297 dbgfuncs.$(OBJ) :$(SRCDIR)/dbgfuncs.c $(SRCDIR)/rexx.h
298 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/dbgfuncs.c
300 memory.$(OBJ) : $(SRCDIR)/memory.c $(SRCDIR)/rexx.h
301 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/memory.c
303 parsing.$(OBJ) : $(SRCDIR)/parsing.c $(SRCDIR)/rexx.h
304 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/parsing.c
306 files.$(OBJ) : $(SRCDIR)/files.c $(SRCDIR)/rexx.h
307 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/files.c
309 misc.$(OBJ) : $(SRCDIR)/misc.c $(SRCDIR)/rexx.h
310 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/misc.c
312 unxfuncs.$(OBJ) :$(SRCDIR)/unxfuncs.c $(SRCDIR)/rexx.h
313 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/unxfuncs.c
315 arxfuncs.$(OBJ) :$(SRCDIR)/arxfuncs.c $(SRCDIR)/rexx.h
316 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/arxfuncs.c
318 os2funcs.$(OBJ) :$(SRCDIR)/os2funcs.c $(SRCDIR)/rexx.h
319 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/os2funcs.c
321 cmsfuncs.$(OBJ) :$(SRCDIR)/cmsfuncs.c $(SRCDIR)/rexx.h
322 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/cmsfuncs.c
324 shell.$(OBJ) : $(SRCDIR)/shell.c $(SRCDIR)/rexx.h
325 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/shell.c
327 rexxext.$(OBJ) : $(SRCDIR)/rexxext.c $(SRCDIR)/rexx.h
328 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxext.c
330 stack.$(OBJ) : $(SRCDIR)/stack.c $(SRCDIR)/rexx.h
331 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/stack.c
333 tracing.$(OBJ) : $(SRCDIR)/tracing.c $(SRCDIR)/rexx.h
334 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/tracing.c
336 interp.$(OBJ) : $(SRCDIR)/interp.c $(SRCDIR)/rexx.h
337 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/interp.c
339 cmath.$(OBJ) : $(SRCDIR)/cmath.c $(SRCDIR)/rexx.h
340 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/cmath.c
342 convert.$(OBJ) : $(SRCDIR)/convert.c $(SRCDIR)/rexx.h
343 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/convert.c
345 strings.$(OBJ) : $(SRCDIR)/strings.c $(SRCDIR)/rexx.h
346 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/strings.c
348 library.$(OBJ) : $(SRCDIR)/library.c $(SRCDIR)/rexx.h
349 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/library.c
351 strmath.$(OBJ) : $(SRCDIR)/strmath.c $(SRCDIR)/rexx.h
352 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/strmath.c
354 signals.$(OBJ) : $(SRCDIR)/signals.c $(SRCDIR)/rexx.h
355 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/signals.c
357 macros.$(OBJ) : $(SRCDIR)/macros.c $(SRCDIR)/rexx.h
358 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/macros.c
360 envir.$(OBJ) : $(SRCDIR)/envir.c $(SRCDIR)/rexx.h
361 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/envir.c
363 expr.$(OBJ) : $(SRCDIR)/expr.c $(SRCDIR)/rexx.h
364 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/expr.c
366 wrappers.$(OBJ) :$(SRCDIR)/wrappers.c $(SRCDIR)/rexx.h
367 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/wrappers.c
369 options.$(OBJ) : $(SRCDIR)/options.c $(SRCDIR)/rexx.h
370 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/options.c
372 os_os2.$(OBJ) : $(SRCDIR)/os_os2.c $(SRCDIR)/rexx.h
373 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/os_os2.c
375 os_other.$(OBJ) : $(SRCDIR)/os_other.c $(SRCDIR)/rexx.h
376 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/os_other.c
378 rexx.$(OBJ) : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
379 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexx.c
381 client.$(OBJ) : $(SRCDIR)/client.c $(SRCDIR)/rexx.h
382 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/client.c
384 rexxsaa.$(OBJ) : $(SRCDIR)/rexxsaa.c $(SRCDIR)/rexx.h
385 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxsaa.c
387 nosaa.$(OBJ) : $(SRCDIR)/nosaa.c $(SRCDIR)/rexx.h
388 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/nosaa.c
390 regina.obj : $(SRCDIR)/regina.c $(SRCDIR)/rexx.h
391 $(CC) $(COPT_DLL) $(CC2O) $(DYN_CRT) -c $(SRCDIR)/regina.c
393 drexx.$(OBJ) : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
394 $(CC) $(COPT) -c -o drexx.$(OBJ) -DRXLIB $(SRCDIR)/rexx.c
396 mt_notmt.$(OBJ) : $(SRCDIR)/mt_notmt.c
397 $(CC) $(COPT) -c -o mt_notmt.$(OBJ) $(SRCDIR)/mt_notmt.c
399 mt_os2.$(OBJ) : $(SRCDIR)/mt_os2.c
400 $(CC) $(COPT) -c -o mt_os2.$(OBJ) $(SRCDIR)/mt_os2.c
402 instore.$(OBJ) : $(SRCDIR)/instore.c
403 $(CC) $(COPT) -c -o instore.$(OBJ) $(SRCDIR)/instore.c
405 extstack.$(OBJ) : $(SRCDIR)/extstack.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
406 $(CC) $(COPT) -c -o extstack.$(OBJ) $(SRCDIR)/extstack.c
408 eextstack.$(OBJ) : $(SRCDIR)/extstack.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
409 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o eextstack.$(OBJ) $(SRCDIR)/extstack.c
411 rexxbif.$(OBJ) : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
412 $(CC) $(COPT) -c -o rexxbif.$(OBJ) $(SRCDIR)/rexxbif.c
414 erexxbif.$(OBJ) : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
415 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o erexxbif.$(OBJ) $(SRCDIR)/rexxbif.c
417 rxqueue.$(OBJ) : $(SRCDIR)/rxqueue.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
418 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o rxqueue.$(OBJ) $(SRCDIR)/rxqueue.c
420 rxstack.$(OBJ) : $(SRCDIR)/rxstack.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
421 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o rxstack.$(OBJ) $(SRCDIR)/rxstack.c
423 lexsrc.$(OBJ) : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h $(SRCDIR)/yaccsrc.h
424 $(CC) $(OTHERCOPT) $(CC2O) -c $(SRCDIR)/lexsrc.c
426 yaccsrc.$(OBJ) : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
427 $(CC) $(OTHERCOPT) $(CC2O) -c -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
429 execiser.obj : $(SRCDIR)/execiser.c $(SRCDIR)/rexx.h
430 $(CC) $(COPT_DLL) $(CC2O) $(DYN_CRT) -c $(SRCDIR)/execiser.c
432 getopt.obj : $(SRCDIR)/getopt.c
433 $(CC) $(COPT_DLL) $(CC2O) -c $(SRCDIR)/getopt.c
436 # Rules for shared objects
438 funcs.obj : $(SRCDIR)/funcs.c $(SRCDIR)/rexx.h
440 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/funcs.c
444 builtin.obj : $(SRCDIR)/builtin.c $(SRCDIR)/rexx.h
446 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/builtin.c
450 error.obj : $(SRCDIR)/error.c $(SRCDIR)/rexx.h
452 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/error.c
456 variable.obj :$(SRCDIR)/variable.c $(SRCDIR)/rexx.h
458 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/variable.c
462 interprt.obj :$(SRCDIR)/interprt.c $(SRCDIR)/rexx.h
464 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interprt.c
468 debug.obj : $(SRCDIR)/debug.c $(SRCDIR)/rexx.h
470 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/debug.c
474 dbgfuncs.obj :$(SRCDIR)/dbgfuncs.c $(SRCDIR)/rexx.h
476 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/dbgfuncs.c
480 memory.obj : $(SRCDIR)/memory.c $(SRCDIR)/rexx.h
482 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/memory.c
486 parsing.obj : $(SRCDIR)/parsing.c $(SRCDIR)/rexx.h
488 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/parsing.c
492 files.obj : $(SRCDIR)/files.c $(SRCDIR)/rexx.h
494 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/files.c
498 misc.obj : $(SRCDIR)/misc.c $(SRCDIR)/rexx.h
500 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/misc.c
504 unxfuncs.obj :$(SRCDIR)/unxfuncs.c $(SRCDIR)/rexx.h
506 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/unxfuncs.c
510 arxfuncs.obj :$(SRCDIR)/arxfuncs.c $(SRCDIR)/rexx.h
512 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/arxfuncs.c
516 os2funcs.obj :$(SRCDIR)/os2funcs.c $(SRCDIR)/rexx.h
518 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os2funcs.c
522 cmsfuncs.obj :$(SRCDIR)/cmsfuncs.c $(SRCDIR)/rexx.h
524 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmsfuncs.c
528 shell.obj : $(SRCDIR)/shell.c $(SRCDIR)/rexx.h
530 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/shell.c
534 rexxext.obj : $(SRCDIR)/rexxext.c $(SRCDIR)/rexx.h
536 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxext.c
540 stack.obj : $(SRCDIR)/stack.c $(SRCDIR)/rexx.h
542 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/stack.c
546 tracing.obj : $(SRCDIR)/tracing.c $(SRCDIR)/rexx.h
548 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/tracing.c
552 interp.obj : $(SRCDIR)/interp.c $(SRCDIR)/rexx.h
554 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interp.c
558 cmath.obj : $(SRCDIR)/cmath.c $(SRCDIR)/rexx.h
560 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmath.c
564 convert.obj : $(SRCDIR)/convert.c $(SRCDIR)/rexx.h
566 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/convert.c
570 strings.obj : $(SRCDIR)/strings.c $(SRCDIR)/rexx.h
572 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strings.c
576 library.obj : $(SRCDIR)/library.c $(SRCDIR)/rexx.h
578 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/library.c
582 strmath.obj : $(SRCDIR)/strmath.c $(SRCDIR)/rexx.h
584 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strmath.c
588 signals.obj : $(SRCDIR)/signals.c $(SRCDIR)/rexx.h
590 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/signals.c
594 macros.obj : $(SRCDIR)/macros.c $(SRCDIR)/rexx.h
596 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/macros.c
600 envir.obj : $(SRCDIR)/envir.c $(SRCDIR)/rexx.h
602 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/envir.c
606 expr.obj : $(SRCDIR)/expr.c $(SRCDIR)/rexx.h
608 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/expr.c
612 wrappers.obj :$(SRCDIR)/wrappers.c $(SRCDIR)/rexx.h
614 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/wrappers.c
618 options.obj : $(SRCDIR)/options.c $(SRCDIR)/rexx.h
620 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/options.c
624 os_os2.obj : $(SRCDIR)/os_os2.c $(SRCDIR)/rexx.h
626 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os_os2.c
630 os_other.obj : $(SRCDIR)/os_other.c $(SRCDIR)/rexx.h
632 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os_other.c
636 rexx.obj : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
638 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexx.c
642 client.obj : $(SRCDIR)/client.c $(SRCDIR)/rexx.h
644 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/client.c
648 rexxsaa.obj : $(SRCDIR)/rexxsaa.c $(SRCDIR)/rexx.h
650 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxsaa.c
654 extstack.obj : $(SRCDIR)/extstack.c $(SRCDIR)/extstack.h $(SRCDIR)/rexxbif.h
655 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o extstack.obj $(SRCDIR)/extstack.c
657 rexxbif.obj : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
658 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o rexxbif.obj $(SRCDIR)/rexxbif.c
660 drexx.obj : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
661 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o drexx.obj -DRXLIB $(SRCDIR)/rexx.c
663 mt_notmt.obj : $(SRCDIR)/mt_notmt.c
664 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o mt_notmt.obj $(SRCDIR)/mt_notmt.c
666 instore.obj : $(SRCDIR)/instore.c
667 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o instore.obj $(SRCDIR)/instore.c
669 mt_os2.obj : $(SRCDIR)/mt_os2.c
670 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o mt_os2.obj $(SRCDIR)/mt_os2.c
672 lexsrc.obj : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h $(SRCDIR)/yaccsrc.h
674 $(CC) $(OTHERCOPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/lexsrc.c
678 yaccsrc.obj : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
680 $(CC) $(OTHERCOPT_DLL) $(CC2O) $(DYN_COMP) -c -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
684 threader.obj : $(SRCDIR)/threader.c $(SRCDIR)/rexx.h
685 $(CC) $(COPT_DLL) $(CC2O) $(DYN_CRT) -DOS2_THREADS -c $(SRCDIR)/threader.c
690 gci_convert.h : $(SRCDIR)/gci/gci_convert.os2.emx
691 copy $(SRCDIRN)\gci\gci_convert.os2.emx .\gci_convert.h
693 gci_call.obj : $(SRCDIR)/gci/gci_call.c $(GCIHEADERS)
695 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_call.c
699 gci_convert.obj : $(SRCDIR)/gci/gci_convert.c $(GCIHEADERS)
701 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_convert.c
705 gci_execute.obj : $(SRCDIR)/gci/gci_execute.c $(GCIHEADERS)
707 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_execute.c
711 gci_helper.obj : $(SRCDIR)/gci/gci_helper.c $(GCIHEADERS)
713 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_helper.c
717 gci_prepare.obj : $(SRCDIR)/gci/gci_prepare.c $(GCIHEADERS)
719 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_prepare.c
723 gci_reginabridge.obj : $(SRCDIR)/gci/gci_reginabridge.c $(GCIHEADERS)
725 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_reginabridge.c
729 gci_rxfuncdefine.obj : $(SRCDIR)/gci/gci_rxfuncdefine.c $(GCIHEADERS)
731 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_rxfuncdefine.c
735 gci_tree.obj : $(SRCDIR)/gci/gci_tree.c $(GCIHEADERS)
737 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_tree.c
742 # Rules for sample programs
744 test1.$(OBJ): $(SRCDIR)/test1.c
745 $(CC) -c $(COPT_DLL) $(CC2O) $(DYN_COMP) $(SRCDIR)/test1.c
747 rxtest1.$(RXLIB): test1.$(OBJ) $(SHLFILE).$(SHL)
748 $(LD_RXLIB_PRE) test1.$(OBJ) $(LD_RXLIB1)
750 test2.$(OBJ): $(SRCDIR)/test2.c
751 $(CC) -c $(COPT_DLL) $(CC2O) $(DYN_COMP) $(SRCDIR)/test2.c
753 rxtest2.$(RXLIB): test2.$(OBJ) $(SHLFILE).$(SHL)
754 $(LD_RXLIB_PRE) test2.$(OBJ) $(LD_RXLIB2)
757 makedepend $(CSRCFILES)
759 ARCHIVE_FILES = $(ALLSRC) $(README) $(SRCDIR)/makefile* $(SRCDIR)/*.rsp $(DEMOFILES) $(TRIPFILES)
762 tar -cvf - $(ARCHIVE_FILES) | gzip > Regina_$(VERDOT).tar.gz
765 tar -cvf - $(ARCHIVE_FILES) | compress > Regina_$(VERDOT).tar.Z
768 zip regna$(VER) $(ARCHIVE_FILES)
771 # below here not tested
774 install: rexx $(LIBFILE).a
775 cp rexx$(PROGEXT) $(BINDIR)/$(PROGNAME)$(PROGEXT)
776 cp ../regina.1 $(MANDIR)/regina.$(MANEXT)
777 cp $(LIBFILE).a $(LIBDIR)/$(LIBFILE).a
778 ranlib $(LIBDIR)/$(LIBFILE).a
781 rm -f *.a *.map *.lib *.exe *.bak *.dll *.res *.exp *.o *.obj *.mtb