2 # Makefile for Regina REXX Interpreter
4 # Using gcc/emx on OS/2 with GNU make
9 SRCDIR=$(REGINA_SRCDIR)
10 SRCDIRN=$(REGINA_SRCDIRN)
14 OPTIMIZE = -g -fbounds-checking -Wall
15 OPTIMIZE_DLL = -g -Wall
18 OPTIMIZE = -O3 -fomit-frame-pointer -Wall -DNDEBUG
19 OPTIMIZE_DLL = -O -Wall -DNDEBUG
24 THREADING = -Zmt -DREGINA_MULTI
26 DYN_COMP = -DDYNAMIC -Zdll $(DYN_CRT)
30 DYN_COMP = -DDYNAMIC -Zdll $(DYN_CRT)
40 USEFLISTS = -DNOFLISTS
45 DYN_CRT = -Zcrtdll -Zomf -mprobe
46 CEXTRA = -DOS2 -DEMX -funsigned-char
48 DYN_COMP = -DDYNAMIC -Zdll $(DYN_CRT)
51 SHLIBS = $(SHLLIB).$(SHLPST)
52 SHLIMPLIB = $(SHLLIB).$(SHLPST)
54 DYNAMIC_LDFLAGS = -lwrap $(STRIP_FLAG) -Zcrtdll -Zomf -mprobe -Zstack 8192 -Zlinker /PM:VIO
55 SHLDEF = $(SRCDIR)/$(SHLLIB)_os2_dll.def
56 SHL1 = emximp -o $(SHLLIB).$(LIBPST) $(SHLDEF)
57 SHL2 = emximp -o $(SHLLIB).lib $(SHLDEF)
63 LD_RXLIB_PRE = $(CC) -Zdll -Zomf -Zcrtdll #-Zso -Zsys
64 LD_RXLIB1 = -Zmap=test1.map -o test1.dll $(SRCDIR)/test1_os2_dll.def $(SHLLIB).lib
65 LD_RXLIB2 = -Zmap=test2.map -o test2.dll $(SRCDIR)/test2_os2_dll.def $(SHLLIB).lib
66 SHL_LD=gcc -Zdll -Zcrtdll -Zomf -Zmap=regina.map -o $(SHLFILE).$(SHL) $(SHOFILES) $(SHLDEF) $(SOCKET)
67 SHL_TARGETS = $(SHLFILE).$(SHL) $(SHLFILE)$(EXE) test1.$(SHL) test2.$(SHL) #$(SHLIMPLIB)
74 LIBFLAGS = cr $(LIBFILE).$(LIBPST)
75 LIBLINK = $(LIBFILE).$(LIBPST)
79 RC = rc $(SRCDIRN)\reginaos2.rc $@
83 RANLIB_LIB=#ranlib $(LIBFILE).a
85 MISCDEFS = -I$(SRCDIR) #-DR2PERL
86 #DEBUG = #-g -DNDEBUG #-Dlint
88 #OPTIMIZE = -O -DNDEBUG
90 COPT = $(DEBUGFLAG) $(CEXTRA) $(OPTIMIZE) $(PROF) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS) $(THREADING)
91 COPT_DLL = $(DEBUGFLAG) $(CEXTRA) $(OPTIMIZE_DLL) $(PROF) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS) $(THREADING)
92 LINKOPT = $(DEBUGFLAG) $(OPTIMIZE) $(PROF) $(EEXTRA)
93 LINKOPT_DLL = $(DEBUGFLAG) $(OPTIMIZE_DLL) $(PROF) $(EEXTRA)
94 OTHERCOPT = $(DEBUGFLAG) $(OPTIMIZE) $(PROF) $(CEXTRA) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS)
95 OTHERCOPT_DLL = $(DEBUGFLAG) $(OPTIMIZE_DLL) $(PROF) $(CEXTRA) $(MISCDEFS) $(MEMTRACE) $(USEFLISTS)
98 #YACC = bison -ly #-d #-lyt
102 #LL = -L/store/lib -lfl
104 README = $(SRCDIR)/README.* COPYING-LIB
106 FILES = funcs builtin error variable interprt debug dbgfuncs \
107 memory parsing files misc os2funcs unxfuncs cmsfuncs shell rexxext stack \
108 tracing interp cmath convert strings library strmath signals \
109 macros envir extlib wrappers options doscmd #r2perl
111 CSRCFILES = $(SRCDIR)/funcs.c $(SRCDIR)/builtin.c $(SRCDIR)/error.c $(SRCDIR)/variable.c \
112 $(SRCDIR)/interprt.c $(SRCDIR)/debug.c $(SRCDIR)/dbgfuncs.c $(SRCDIR)/memory.c $(SRCDIR)/parsing.c $(SRCDIR)/files.c \
113 $(SRCDIR)/misc.c $(SRCDIR)/unxfuncs.c $(SRCDIR)/cmsfuncs.c $(SRCDIR)/os2funcs.c $(SRCDIR)/shell.c $(SRCDIR)/rexxext.c $(SRCDIR)/stack.c \
114 $(SRCDIR)/tracing.c $(SRCDIR)/interp.c $(SRCDIR)/cmath.c $(SRCDIR)/convert.c $(SRCDIR)/strings.c $(SRCDIR)/library.c \
115 $(SRCDIR)/strmath.c $(SRCDIR)/signals.c $(SRCDIR)/macros.c $(SRCDIR)/envir.c $(SRCDIR)/expr.c \
116 $(SRCDIR)/extlib.c $(SRCDIR)/wrappers.c $(SRCDIR)/options.c $(SRCDIR)/doscmd.c #$(SRCDIR)/r2perl.c
118 OFILES = funcs.$(OBJ) builtin.$(OBJ) error.$(OBJ) variable.$(OBJ) \
119 interprt.$(OBJ) debug.$(OBJ) dbgfuncs.$(OBJ) memory.$(OBJ) parsing.$(OBJ) files.$(OBJ) \
120 misc.$(OBJ) unxfuncs.$(OBJ) cmsfuncs.$(OBJ) os2funcs.$(OBJ) shell.$(OBJ) rexxext.$(OBJ) stack.$(OBJ) \
121 tracing.$(OBJ) interp.$(OBJ) cmath.$(OBJ) convert.$(OBJ) strings.$(OBJ) library.$(OBJ) \
122 strmath.$(OBJ) signals.$(OBJ) macros.$(OBJ) envir.$(OBJ) expr.$(OBJ) $(MT_FILE).$(OBJ) instore.$(OBJ) \
123 extlib.$(OBJ) yaccsrc.$(OBJ) lexsrc.$(OBJ) options.$(OBJ) doscmd.$(OBJ) wrappers.$(OBJ) \
124 extstack.$(OBJ) rexxbif.$(OBJ)
126 SHOFILES = funcs.obj builtin.obj error.obj variable.obj \
127 interprt.obj debug.obj dbgfuncs.obj memory.obj parsing.obj files.obj \
128 misc.obj unxfuncs.obj cmsfuncs.obj shell.obj os2funcs.obj rexxext.obj stack.obj \
129 tracing.obj interp.obj cmath.obj convert.obj strings.obj library.obj \
130 strmath.obj signals.obj macros.obj envir.obj expr.obj $(MT_FILE).obj \
131 extlib.obj yaccsrc.obj lexsrc.obj wrappers.obj options.obj doscmd.obj \
132 drexx.obj client.obj rexxsaa.obj instore.obj \
133 extstack.obj rexxbif.obj
135 DEMODIR = $(SRCDIR)/demo
136 DEMOFILES = $(DEMODIR)/*
137 TRIPDIR = $(SRCDIR)/trip
138 TRIPFILES = $(TRIPDIR)/*
140 ALLSRC = $(CFILES) $(HFILES)
142 HFILES = $(SRCDIR)/rexx.h $(SRCDIR)/defs.h $(SRCDIR)/extern.h $(SRCDIR)/types.h \
143 $(SRCDIR)/config.h $(SRCDIR)/strings.h $(SRCDIR)/configur.h $(SRCDIR)/yaccsrc.h \
144 $(SRCDIR)/rxiface.h $(SRCDIR)/rexxsaa.h $(SRCDIR)/utsname.h
146 CFILES = $(SRCDIR)/yaccsrc.c $(SRCDIR)/lexsrc.c $(CSRCFILES) $(SRCDIR)/execiser.c \
147 $(SRCDIR)/rexxsaa.c $(SRCDIR)/rexx.c $(SRCDIR)/regina.c $(SRCDIR)/client.c \
148 $(SRCDIR)/r2perl.c $(SRCDIR)/test1.c $(SRCDIR)/test2.c
150 MTSSRC = $(SRCDIR)/en.mts $(SRCDIR)/pt.mts $(SRCDIR)/no.mts \
151 $(SRCDIR)/de.mts $(SRCDIR)/es.mts
153 #.SUFFIXES: .sho $(SUFFIXES)
155 # Do not use default suffixes rule
159 all : rexx$(EXE) $(LIBFILE).$(LIBPST) trexx$(EXE) tregina$(EXE) execiser$(EXE) rxstack$(EXE) rxqueue$(EXE) $(SHL_TARGETS) mtb_files
161 $(CSRCFILES) : $(SRCDIR)/rexx.h
163 $(SRCDIR)/rexx.h : $(SRCDIR)/extern.h $(SRCDIR)/strings.h $(SRCDIR)/defs.h $(SRCDIR)/types.h $(SRCDIR)/mt.h
165 $(SRCDIR)/mt.h : $(SRCDIR)/$(MT_FILE).h
167 rexx$(EXE) : $(OFILES) rexx.$(OBJ) nosaa.$(OBJ)
168 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o rexx$(EXE) $(OBJECTS) rexx.$(OBJ) nosaa.$(OBJ) $(LIBS) $(SOCKET)
169 -copy $(SRCDIRN)\reginaos2.ico
173 regina : $(SHLFILE).$(SHL) regina.obj $(GETOPT)
174 $(CC) $(LINKOPT_DLL) -Zexe $(DYNAMIC_LDFLAGS) -o regina regina.obj $(LIBS) $(SHLIBS) $(SOCKET)
176 regina$(EXE) : regina
177 -copy $(SRCDIRN)\reginaos2.ico
181 trexx$(EXE) : trexx.$(OBJ) $(LIBFILE).$(LIBPST)
182 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o trexx$(EXE) trexx.$(OBJ) $(LIBFILE).$(LIBPST) $(LIBS) $(SOCKET)
183 -copy $(SRCDIRN)\reginaos2.ico
187 tregina : tregina.obj $(SHLFILE).$(SHL)
188 $(CC) $(LINKOPT_DLL) -Zexe $(DYNAMIC_LDFLAGS) -o tregina tregina.obj $(LIBS) $(SHLIBS) $(SOCKET)
190 tregina$(EXE) : tregina
191 -copy $(SRCDIRN)\reginaos2.ico
193 -lxlite tregina$(EXE)
195 execiser : execiser.obj $(SHLFILE).$(SHL)
196 $(CC) $(LINKOPT_DLL) -Zexe $(DYNAMIC_LDFLAGS) -o execiser execiser.obj $(LIBS) $(SHLIBS) $(SOCKET)
198 execiser$(EXE) : execiser
199 -lxlite execiser$(EXE)
201 rxqueue$(EXE) : $(OFILES) rxqueue.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ)
202 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o rxqueue$(EXE) rxqueue.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ) $(SOCKET)
203 -lxlite rxqueue$(EXE)
205 rxstack$(EXE) : $(OFILES) rxstack.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ)
206 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o rxstack$(EXE) rxstack.$(OBJ) eextstack.$(OBJ) erexxbif.$(OBJ) $(SOCKET)
207 -lxlite rxstack$(EXE)
209 $(LIBFILE).$(LIBPST): $(OFILES) client.$(OBJ) drexx.$(OBJ) rexxsaa.$(OBJ)
210 $(LIBEXE) $(LIBFLAGS) $(OBJECTS) client.$(OBJ) drexx.$(OBJ) rexxsaa.$(OBJ)
212 emxomf -o $(LIBFILE).$(SHLPST) $(LIBFILE).$(LIBPST)
214 $(SHLFILE).$(SHL): $(SHOFILES) $(SHLDEF)
220 -copy $(SRCDIRN)\reginaos2.ico
222 -lxlite $(SHLFILE).$(SHL)
225 # Convert .mts to .mtb
227 mtb_files: msgcmp$(EXE) $(MTSSRC)
230 msgcmp$(EXE): msgcmp.$(OBJ)
231 $(CC) $(LINKOPT) $(STATIC_LDFLAGS) -o msgcmp$(EXE) msgcmp.$(OBJ)
233 msgcmp.$(OBJ): $(SRCDIR)/msgcmp.c
234 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/msgcmp.c
237 # Rules for static objects
239 #$(SRCDIR)/lexsrc.c: $(SRCDIR)/lexsrc.l
240 # flex -Scontrib/flex.skl -8 -o$(SRCDIR)/lexsrc.c $(SRCDIR)/lexsrc.l
242 #$(SRCDIR)/yaccsrc.c $(SRCDIR)/yaccsrc.h: $(SRCDIR)/yaccsrc.y
243 # bison -d -o$(SRCDIR)/yaccsrc.c $(SRCDIR)/yaccsrc.y
245 funcs.$(OBJ) : $(SRCDIR)/funcs.c $(SRCDIR)/rexx.h
246 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/funcs.c
248 builtin.$(OBJ) : $(SRCDIR)/builtin.c $(SRCDIR)/rexx.h
249 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/builtin.c
251 error.$(OBJ) : $(SRCDIR)/error.c $(SRCDIR)/rexx.h
252 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/error.c
254 variable.$(OBJ) :$(SRCDIR)/variable.c $(SRCDIR)/rexx.h
255 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/variable.c
257 interprt.$(OBJ) :$(SRCDIR)/interprt.c $(SRCDIR)/rexx.h
258 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/interprt.c
260 debug.$(OBJ) : $(SRCDIR)/debug.c $(SRCDIR)/rexx.h
261 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/debug.c
263 dbgfuncs.$(OBJ) :$(SRCDIR)/dbgfuncs.c $(SRCDIR)/rexx.h
264 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/dbgfuncs.c
266 memory.$(OBJ) : $(SRCDIR)/memory.c $(SRCDIR)/rexx.h
267 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/memory.c
269 parsing.$(OBJ) : $(SRCDIR)/parsing.c $(SRCDIR)/rexx.h
270 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/parsing.c
272 files.$(OBJ) : $(SRCDIR)/files.c $(SRCDIR)/rexx.h
273 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/files.c
275 misc.$(OBJ) : $(SRCDIR)/misc.c $(SRCDIR)/rexx.h
276 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/misc.c
278 unxfuncs.$(OBJ) :$(SRCDIR)/unxfuncs.c $(SRCDIR)/rexx.h
279 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/unxfuncs.c
281 os2funcs.$(OBJ) :$(SRCDIR)/os2funcs.c $(SRCDIR)/rexx.h
282 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/os2funcs.c
284 cmsfuncs.$(OBJ) :$(SRCDIR)/cmsfuncs.c $(SRCDIR)/rexx.h
285 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/cmsfuncs.c
287 shell.$(OBJ) : $(SRCDIR)/shell.c $(SRCDIR)/rexx.h
288 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/shell.c
290 rexxext.$(OBJ) : $(SRCDIR)/rexxext.c $(SRCDIR)/rexx.h
291 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxext.c
293 stack.$(OBJ) : $(SRCDIR)/stack.c $(SRCDIR)/rexx.h
294 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/stack.c
296 tracing.$(OBJ) : $(SRCDIR)/tracing.c $(SRCDIR)/rexx.h
297 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/tracing.c
299 interp.$(OBJ) : $(SRCDIR)/interp.c $(SRCDIR)/rexx.h
300 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/interp.c
302 cmath.$(OBJ) : $(SRCDIR)/cmath.c $(SRCDIR)/rexx.h
303 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/cmath.c
305 convert.$(OBJ) : $(SRCDIR)/convert.c $(SRCDIR)/rexx.h
306 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/convert.c
308 strings.$(OBJ) : $(SRCDIR)/strings.c $(SRCDIR)/rexx.h
309 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/strings.c
311 library.$(OBJ) : $(SRCDIR)/library.c $(SRCDIR)/rexx.h
312 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/library.c
314 strmath.$(OBJ) : $(SRCDIR)/strmath.c $(SRCDIR)/rexx.h
315 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/strmath.c
317 signals.$(OBJ) : $(SRCDIR)/signals.c $(SRCDIR)/rexx.h
318 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/signals.c
320 macros.$(OBJ) : $(SRCDIR)/macros.c $(SRCDIR)/rexx.h
321 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/macros.c
323 envir.$(OBJ) : $(SRCDIR)/envir.c $(SRCDIR)/rexx.h
324 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/envir.c
326 expr.$(OBJ) : $(SRCDIR)/expr.c $(SRCDIR)/rexx.h
327 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/expr.c
329 extlib.$(OBJ) : $(SRCDIR)/extlib.c $(SRCDIR)/rexx.h
330 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/extlib.c
332 wrappers.$(OBJ) :$(SRCDIR)/wrappers.c $(SRCDIR)/rexx.h
333 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/wrappers.c
335 options.$(OBJ) : $(SRCDIR)/options.c $(SRCDIR)/rexx.h
336 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/options.c
338 doscmd.$(OBJ) : $(SRCDIR)/doscmd.c $(SRCDIR)/rexx.h
339 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/doscmd.c
341 rexx.$(OBJ) : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
342 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexx.c
344 client.$(OBJ) : $(SRCDIR)/client.c $(SRCDIR)/rexx.h
345 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/client.c
347 rexxsaa.$(OBJ) : $(SRCDIR)/rexxsaa.c $(SRCDIR)/rexx.h
348 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxsaa.c
350 nosaa.$(OBJ) : $(SRCDIR)/nosaa.c $(SRCDIR)/rexx.h
351 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/nosaa.c
353 regina.obj : $(SRCDIR)/regina.c $(SRCDIR)/rexx.h
354 $(CC) $(COPT_DLL) $(CC2O) $(DYN_CRT) -c $(SRCDIR)/regina.c
356 drexx.$(OBJ) : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
357 $(CC) $(COPT) -c -o drexx.$(OBJ) -DRXLIB $(SRCDIR)/rexx.c
359 mt_notmt.$(OBJ) : $(SRCDIR)/mt_notmt.c
360 $(CC) $(COPT) -c -o mt_notmt.$(OBJ) $(SRCDIR)/mt_notmt.c
362 mt_os2.$(OBJ) : $(SRCDIR)/mt_os2.c
363 $(CC) $(COPT) -c -o mt_os2.$(OBJ) $(SRCDIR)/mt_os2.c
365 instore.$(OBJ) : $(SRCDIR)/instore.c
366 $(CC) $(COPT) -c -o instore.$(OBJ) $(SRCDIR)/instore.c
368 extstack.$(OBJ) : $(SRCDIR)/extstack.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
369 $(CC) $(COPT) -c -o extstack.$(OBJ) $(SRCDIR)/extstack.c
371 eextstack.$(OBJ) : $(SRCDIR)/extstack.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
372 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o eextstack.$(OBJ) $(SRCDIR)/extstack.c
374 rexxbif.$(OBJ) : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
375 $(CC) $(COPT) -c -o rexxbif.$(OBJ) $(SRCDIR)/rexxbif.c
377 erexxbif.$(OBJ) : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
378 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o erexxbif.$(OBJ) $(SRCDIR)/rexxbif.c
380 rxqueue.$(OBJ) : $(SRCDIR)/rxqueue.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
381 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o rxqueue.$(OBJ) $(SRCDIR)/rxqueue.c
383 rxstack.$(OBJ) : $(SRCDIR)/rxstack.c $(SRCDIR)/rexxbif.h $(SRCDIR)/extstack.h
384 $(CC) -DEXTERNAL_TO_REGINA $(COPT) -c -o rxstack.$(OBJ) $(SRCDIR)/rxstack.c
386 lexsrc.$(OBJ) : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h $(SRCDIR)/yaccsrc.h
387 $(CC) $(OTHERCOPT) $(CC2O) -c $(SRCDIR)/lexsrc.c
389 yaccsrc.$(OBJ) : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
390 $(CC) $(OTHERCOPT) $(CC2O) -c -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
392 execiser.obj : $(SRCDIR)/execiser.c $(SRCDIR)/rexx.h
393 $(CC) $(COPT_DLL) $(CC2O) $(DYN_CRT) -c $(SRCDIR)/execiser.c
395 getopt.obj : $(SRCDIR)/getopt.c
396 $(CC) $(COPT_DLL) $(CC2O) -c $(SRCDIR)/getopt.c
399 # Rules for shared objects
401 funcs.obj : $(SRCDIR)/funcs.c $(SRCDIR)/rexx.h
403 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/funcs.c
407 builtin.obj : $(SRCDIR)/builtin.c $(SRCDIR)/rexx.h
409 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/builtin.c
413 error.obj : $(SRCDIR)/error.c $(SRCDIR)/rexx.h
415 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/error.c
419 variable.obj :$(SRCDIR)/variable.c $(SRCDIR)/rexx.h
421 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/variable.c
425 interprt.obj :$(SRCDIR)/interprt.c $(SRCDIR)/rexx.h
427 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interprt.c
431 debug.obj : $(SRCDIR)/debug.c $(SRCDIR)/rexx.h
433 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/debug.c
437 dbgfuncs.obj :$(SRCDIR)/dbgfuncs.c $(SRCDIR)/rexx.h
439 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/dbgfuncs.c
443 memory.obj : $(SRCDIR)/memory.c $(SRCDIR)/rexx.h
445 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/memory.c
449 parsing.obj : $(SRCDIR)/parsing.c $(SRCDIR)/rexx.h
451 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/parsing.c
455 files.obj : $(SRCDIR)/files.c $(SRCDIR)/rexx.h
457 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/files.c
461 misc.obj : $(SRCDIR)/misc.c $(SRCDIR)/rexx.h
463 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/misc.c
467 unxfuncs.obj :$(SRCDIR)/unxfuncs.c $(SRCDIR)/rexx.h
469 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/unxfuncs.c
473 os2funcs.obj :$(SRCDIR)/os2funcs.c $(SRCDIR)/rexx.h
475 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os2funcs.c
479 cmsfuncs.obj :$(SRCDIR)/cmsfuncs.c $(SRCDIR)/rexx.h
481 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmsfuncs.c
485 shell.obj : $(SRCDIR)/shell.c $(SRCDIR)/rexx.h
487 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/shell.c
491 rexxext.obj : $(SRCDIR)/rexxext.c $(SRCDIR)/rexx.h
493 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxext.c
497 stack.obj : $(SRCDIR)/stack.c $(SRCDIR)/rexx.h
499 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/stack.c
503 tracing.obj : $(SRCDIR)/tracing.c $(SRCDIR)/rexx.h
505 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/tracing.c
509 interp.obj : $(SRCDIR)/interp.c $(SRCDIR)/rexx.h
511 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interp.c
515 cmath.obj : $(SRCDIR)/cmath.c $(SRCDIR)/rexx.h
517 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmath.c
521 convert.obj : $(SRCDIR)/convert.c $(SRCDIR)/rexx.h
523 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/convert.c
527 strings.obj : $(SRCDIR)/strings.c $(SRCDIR)/rexx.h
529 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strings.c
533 library.obj : $(SRCDIR)/library.c $(SRCDIR)/rexx.h
535 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/library.c
539 strmath.obj : $(SRCDIR)/strmath.c $(SRCDIR)/rexx.h
541 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strmath.c
545 signals.obj : $(SRCDIR)/signals.c $(SRCDIR)/rexx.h
547 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/signals.c
551 macros.obj : $(SRCDIR)/macros.c $(SRCDIR)/rexx.h
553 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/macros.c
557 envir.obj : $(SRCDIR)/envir.c $(SRCDIR)/rexx.h
559 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/envir.c
563 expr.obj : $(SRCDIR)/expr.c $(SRCDIR)/rexx.h
565 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/expr.c
569 extlib.obj : $(SRCDIR)/extlib.c $(SRCDIR)/rexx.h
571 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/extlib.c
575 wrappers.obj :$(SRCDIR)/wrappers.c $(SRCDIR)/rexx.h
577 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/wrappers.c
581 options.obj : $(SRCDIR)/options.c $(SRCDIR)/rexx.h
583 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/options.c
587 doscmd.obj : $(SRCDIR)/doscmd.c $(SRCDIR)/rexx.h
589 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/doscmd.c
593 rexx.obj : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
595 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexx.c
599 client.obj : $(SRCDIR)/client.c $(SRCDIR)/rexx.h
601 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/client.c
605 rexxsaa.obj : $(SRCDIR)/rexxsaa.c $(SRCDIR)/rexx.h
607 $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxsaa.c
611 extstack.obj : $(SRCDIR)/extstack.c $(SRCDIR)/extstack.h $(SRCDIR)/rexxbif.h
612 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o extstack.obj $(SRCDIR)/extstack.c
614 rexxbif.obj : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
615 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o rexxbif.obj $(SRCDIR)/rexxbif.c
617 drexx.obj : $(SRCDIR)/rexx.c $(SRCDIR)/rexx.h
618 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o drexx.obj -DRXLIB $(SRCDIR)/rexx.c
620 mt_notmt.obj : $(SRCDIR)/mt_notmt.c
621 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o mt_notmt.obj $(SRCDIR)/mt_notmt.c
623 instore.obj : $(SRCDIR)/instore.c
624 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o instore.obj $(SRCDIR)/instore.c
626 mt_os2.obj : $(SRCDIR)/mt_os2.c
627 $(CC) $(COPT_DLL) $(DYN_COMP) -c -o mt_os2.obj $(SRCDIR)/mt_os2.c
629 lexsrc.obj : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h $(SRCDIR)/yaccsrc.h
631 $(CC) $(OTHERCOPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/lexsrc.c
635 yaccsrc.obj : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
637 $(CC) $(OTHERCOPT_DLL) $(CC2O) $(DYN_COMP) -c -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
642 # Rules for Regina tokeniser targets
644 trexx.$(OBJ) : $(SRCDIR)/tregina.c
645 $(CC) $(COPT) -c -o trexx.$(OBJ) $(SRCDIR)/tregina.c
647 tregina.obj : $(SRCDIR)/tregina.c
648 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/tregina.c
651 # Rules for sample programs
653 test1.$(OBJ): $(SRCDIR)/test1.c
654 $(CC) -c $(COPT_DLL) $(CC2O) $(DYN_COMP) $(SRCDIR)/test1.c
656 test1.$(RXLIB): test1.$(OBJ) $(SHLFILE).$(SHL)
657 $(LD_RXLIB_PRE) test1.$(OBJ) $(LD_RXLIB1)
659 test2.$(OBJ): $(SRCDIR)/test2.c
660 $(CC) -c $(COPT_DLL) $(CC2O) $(DYN_COMP) $(SRCDIR)/test2.c
662 test2.$(RXLIB): test2.$(OBJ) $(SHLFILE).$(SHL)
663 $(LD_RXLIB_PRE) test2.$(OBJ) $(LD_RXLIB2)
666 makedepend $(CSRCFILES)
668 ARCHIVE_FILES = $(ALLSRC) $(README) $(SRCDIR)/makefile* $(SRCDIR)/*.rsp $(DEMOFILES) $(TRIPFILES)
671 tar -cvf - $(ARCHIVE_FILES) | gzip > Regina_$(VERDOT).tar.gz
674 tar -cvf - $(ARCHIVE_FILES) | compress > Regina_$(VERDOT).tar.Z
677 zip regna$(VER) $(ARCHIVE_FILES)
680 # below here not tested
683 install: rexx $(LIBFILE).a
684 cp rexx$(PROGEXT) $(BINDIR)/$(PROGNAME)$(PROGEXT)
685 cp ../rexx.1 $(MANDIR)/rexx.$(MANEXT)
686 cp $(LIBFILE).a $(LIBDIR)/$(LIBFILE).a
687 ranlib $(LIBDIR)/$(LIBFILE).a