development-curl is a virtual target
[AROS-Contrib.git] / regina / makefile.os2.emx
blob9b37b86ed35eb1bf48efe1b2b964f075e8445610
2 # Makefile for Regina REXX Interpreter
4 # Using gcc/emx on OS/2 with GNU make
7 SRCDIR=$(REGINA_SRCDIR)
8 SRCDIRN=$(REGINA_SRCDIRN)
9 CC = gcc
11 include $(SRCDIR)\regina.ver
12 VERDOT = $(VER_DOT)
13 VERDATE = $(VER_DATE)
15 ifeq ($(DEBUG),Y)
16 OPTIMIZE = -g -fbounds-checking -Wall
17 OPTIMIZE_DLL = -g -Wall
18 STRIP_FLAG =
19 LXLITE = echo
20 else
21 OPTIMIZE = -O3 -fomit-frame-pointer -Wall -DNDEBUG
22 OPTIMIZE_DLL = -O -Wall -DNDEBUG
23 STRIP_FLAG = -s
24 LXLITE = lxlite
25 endif
27 ifeq ($(MULTI),N)
28 THREADING =
29 THREADING_LINK =
30 THREADING_FILE = mt_notmt
31 else
32 THREADING = -Zmt -DREGINA_MULTI
33 THREADING_LINK = -Zmt
34 THREADING_FILE = mt_os2
35 endif
37 DYN_COMP = -DDYNAMIC -Zdll $(DYN_CRT)
39 ifeq ($(TRACEMEM),Y)
40 MEMTRACE = -DTRACEMEM
41 else
42 MEMTRACE =
43 endif
45 ifeq ($(FLISTS),N)
46 USEFLISTS = -DNOFLISTS
47 else
48 USEFLISTS =
49 endif
52 # GCI is default
54 ifeq ($(GCI),N)
55 GCI_SHO =
56 HAVE_GCI =
57 else
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 \
60    gci_tree.obj
61 HAVE_GCI = -DHAVE_GCI -I$(SRCDIR)/gci -I.
62 endif
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)\"
66 EEXTRA =
67 DYN_COMP = -DDYNAMIC -Zdll $(DYN_CRT)
68 LIBS = #-ll -lm
69 SOCKET = -lsocket
70 SHLIBS = $(SHLLIB).$(SHLPST)
71 SHLIMPLIB = $(SHLLIB).$(SHLPST)
72 SHLLIB = $(SHLFILE)
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)
77 SHL = dll
78 SHLPST = lib
79 RXLIB = dll
80 OBJ=o
81 EXE=.exe
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)
87 LDEXTRA=emxbind
88 LIBPRE =
89 LIBFILE = rexx
90 SHLFILE = regina
91 LIBEXE = ar
92 LIBPST = a
93 LIBFLAGS = cr $(LIBFILE).$(LIBPST)
94 LIBLINK = $(LIBFILE).$(LIBPST)
95 OBJECTS = $(OFILES)
96 OSAVE = .o.save
97 CC2O=-o $@
98 RC = rc $(SRCDIRN)\reginaos2.rc $@
99 MV=-ren
100 RM=-del
102 RANLIB_LIB=#ranlib $(LIBFILE).a
104 MISCDEFS = -I$(SRCDIR) -Wno-char-subscripts
105 #DEBUG    = #-g -DNDEBUG #-Dlint
106 PROF     = #-p #g
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)
116 YACC = yacc
117 #YACC = bison -ly #-d #-lyt
119 LEX = lex
120 #LEX = flex -8 #-d
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 \
136         $(SRCDIR)/os_other.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 \
154         $(GCI_SHO)
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
181 .SUFFIXES:
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
192         -$(RC)
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
200         -$(RC)
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
208         -$(RC)
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)
233         $(RANLIB_LIB)
234         emxomf -p 32 -o $(LIBFILE).$(SHLPST) $(LIBFILE).$(LIBPST)
236 $(SHLFILE).$(SHL): $(SHOFILES) $(SHLDEF)
237         $(SHL_LD)
238         $(SHL1)
239         $(SHL2)
240         $(SHL3)
241         $(SHL4)
242         -copy $(SRCDIRN)\reginaos2.ico
243         -$(RC)
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)
262         msgcmp $(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
439                $(O2SAVE)
440                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/funcs.c
441                $(O2SHO)
442                $(SAVE2O)
444 builtin.obj : $(SRCDIR)/builtin.c        $(SRCDIR)/rexx.h
445                $(O2SAVE)
446                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/builtin.c
447                $(O2SHO)
448                $(SAVE2O)
450 error.obj :   $(SRCDIR)/error.c          $(SRCDIR)/rexx.h
451                $(O2SAVE)
452                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/error.c
453                $(O2SHO)
454                $(SAVE2O)
456 variable.obj :$(SRCDIR)/variable.c       $(SRCDIR)/rexx.h
457                $(O2SAVE)
458                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/variable.c
459                $(O2SHO)
460                $(SAVE2O)
462 interprt.obj :$(SRCDIR)/interprt.c       $(SRCDIR)/rexx.h
463                $(O2SAVE)
464                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interprt.c
465                $(O2SHO)
466                $(SAVE2O)
468 debug.obj :   $(SRCDIR)/debug.c          $(SRCDIR)/rexx.h
469                $(O2SAVE)
470                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/debug.c
471                $(O2SHO)
472                $(SAVE2O)
474 dbgfuncs.obj :$(SRCDIR)/dbgfuncs.c       $(SRCDIR)/rexx.h
475                $(O2SAVE)
476                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/dbgfuncs.c
477                $(O2SHO)
478                $(SAVE2O)
480 memory.obj :  $(SRCDIR)/memory.c         $(SRCDIR)/rexx.h
481                $(O2SAVE)
482                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/memory.c
483                $(O2SHO)
484                $(SAVE2O)
486 parsing.obj : $(SRCDIR)/parsing.c        $(SRCDIR)/rexx.h
487                $(O2SAVE)
488                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/parsing.c
489                $(O2SHO)
490                $(SAVE2O)
492 files.obj :   $(SRCDIR)/files.c          $(SRCDIR)/rexx.h
493                $(O2SAVE)
494                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/files.c
495                $(O2SHO)
496                $(SAVE2O)
498 misc.obj :    $(SRCDIR)/misc.c           $(SRCDIR)/rexx.h
499                $(O2SAVE)
500                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/misc.c
501                $(O2SHO)
502                $(SAVE2O)
504 unxfuncs.obj :$(SRCDIR)/unxfuncs.c       $(SRCDIR)/rexx.h
505                $(O2SAVE)
506                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/unxfuncs.c
507                $(O2SHO)
508                $(SAVE2O)
510 arxfuncs.obj :$(SRCDIR)/arxfuncs.c       $(SRCDIR)/rexx.h
511                $(O2SAVE)
512                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/arxfuncs.c
513                $(O2SHO)
514                $(SAVE2O)
516 os2funcs.obj :$(SRCDIR)/os2funcs.c       $(SRCDIR)/rexx.h
517                $(O2SAVE)
518                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os2funcs.c
519                $(O2SHO)
520                $(SAVE2O)
522 cmsfuncs.obj :$(SRCDIR)/cmsfuncs.c       $(SRCDIR)/rexx.h
523                $(O2SAVE)
524                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmsfuncs.c
525                $(O2SHO)
526                $(SAVE2O)
528 shell.obj :   $(SRCDIR)/shell.c          $(SRCDIR)/rexx.h
529                $(O2SAVE)
530                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/shell.c
531                $(O2SHO)
532                $(SAVE2O)
534 rexxext.obj : $(SRCDIR)/rexxext.c        $(SRCDIR)/rexx.h
535                $(O2SAVE)
536                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxext.c
537                $(O2SHO)
538                $(SAVE2O)
540 stack.obj :   $(SRCDIR)/stack.c          $(SRCDIR)/rexx.h
541                $(O2SAVE)
542                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/stack.c
543                $(O2SHO)
544                $(SAVE2O)
546 tracing.obj : $(SRCDIR)/tracing.c        $(SRCDIR)/rexx.h
547                $(O2SAVE)
548                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/tracing.c
549                $(O2SHO)
550                $(SAVE2O)
552 interp.obj :  $(SRCDIR)/interp.c         $(SRCDIR)/rexx.h
553                $(O2SAVE)
554                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interp.c
555                $(O2SHO)
556                $(SAVE2O)
558 cmath.obj :   $(SRCDIR)/cmath.c          $(SRCDIR)/rexx.h
559                $(O2SAVE)
560                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmath.c
561                $(O2SHO)
562                $(SAVE2O)
564 convert.obj : $(SRCDIR)/convert.c        $(SRCDIR)/rexx.h
565                $(O2SAVE)
566                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/convert.c
567                $(O2SHO)
568                $(SAVE2O)
570 strings.obj : $(SRCDIR)/strings.c        $(SRCDIR)/rexx.h
571                $(O2SAVE)
572                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strings.c
573                $(O2SHO)
574                $(SAVE2O)
576 library.obj : $(SRCDIR)/library.c        $(SRCDIR)/rexx.h
577                $(O2SAVE)
578                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/library.c
579                $(O2SHO)
580                $(SAVE2O)
582 strmath.obj : $(SRCDIR)/strmath.c        $(SRCDIR)/rexx.h
583                $(O2SAVE)
584                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strmath.c
585                $(O2SHO)
586                $(SAVE2O)
588 signals.obj : $(SRCDIR)/signals.c        $(SRCDIR)/rexx.h
589                $(O2SAVE)
590                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/signals.c
591                $(O2SHO)
592                $(SAVE2O)
594 macros.obj :  $(SRCDIR)/macros.c         $(SRCDIR)/rexx.h
595                $(O2SAVE)
596                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/macros.c
597                $(O2SHO)
598                $(SAVE2O)
600 envir.obj :   $(SRCDIR)/envir.c          $(SRCDIR)/rexx.h
601                $(O2SAVE)
602                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/envir.c
603                $(O2SHO)
604                $(SAVE2O)
606 expr.obj :    $(SRCDIR)/expr.c           $(SRCDIR)/rexx.h
607                $(O2SAVE)
608                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/expr.c
609                $(O2SHO)
610                $(SAVE2O)
612 wrappers.obj :$(SRCDIR)/wrappers.c       $(SRCDIR)/rexx.h
613                $(O2SAVE)
614                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/wrappers.c
615                $(O2SHO)
616                $(SAVE2O)
618 options.obj : $(SRCDIR)/options.c        $(SRCDIR)/rexx.h
619                $(O2SAVE)
620                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/options.c
621                $(O2SHO)
622                $(SAVE2O)
624 os_os2.obj :  $(SRCDIR)/os_os2.c         $(SRCDIR)/rexx.h
625                $(O2SAVE)
626                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os_os2.c
627                $(O2SHO)
628                $(SAVE2O)
630 os_other.obj :  $(SRCDIR)/os_other.c     $(SRCDIR)/rexx.h
631                $(O2SAVE)
632                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os_other.c
633                $(O2SHO)
634                $(SAVE2O)
636 rexx.obj :  $(SRCDIR)/rexx.c             $(SRCDIR)/rexx.h
637                $(O2SAVE)
638                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexx.c
639                $(O2SHO)
640                $(SAVE2O)
642 client.obj :  $(SRCDIR)/client.c         $(SRCDIR)/rexx.h
643                $(O2SAVE)
644                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/client.c
645                $(O2SHO)
646                $(SAVE2O)
648 rexxsaa.obj :  $(SRCDIR)/rexxsaa.c       $(SRCDIR)/rexx.h
649                $(O2SAVE)
650                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxsaa.c
651                $(O2SHO)
652                $(SAVE2O)
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
673                $(O2SAVE)
674                $(CC) $(OTHERCOPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/lexsrc.c
675                $(O2SHO)
676                $(SAVE2O)
678 yaccsrc.obj : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
679                $(O2SAVE)
680                $(CC) $(OTHERCOPT_DLL) $(CC2O) $(DYN_COMP) -c -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
681                $(O2SHO)
682                $(SAVE2O)
684 threader.obj : $(SRCDIR)/threader.c $(SRCDIR)/rexx.h
685                $(CC) $(COPT_DLL) $(CC2O) $(DYN_CRT) -DOS2_THREADS -c $(SRCDIR)/threader.c
688 # Rules for GCI
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)
694                $(O2SAVE)
695                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_call.c
696                $(O2SHO)
697                $(SAVE2O)
699 gci_convert.obj : $(SRCDIR)/gci/gci_convert.c  $(GCIHEADERS)
700                $(O2SAVE)
701                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_convert.c
702                $(O2SHO)
703                $(SAVE2O)
705 gci_execute.obj : $(SRCDIR)/gci/gci_execute.c  $(GCIHEADERS)
706                $(O2SAVE)
707                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_execute.c
708                $(O2SHO)
709                $(SAVE2O)
711 gci_helper.obj : $(SRCDIR)/gci/gci_helper.c  $(GCIHEADERS)
712                $(O2SAVE)
713                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_helper.c
714                $(O2SHO)
715                $(SAVE2O)
717 gci_prepare.obj : $(SRCDIR)/gci/gci_prepare.c  $(GCIHEADERS)
718                $(O2SAVE)
719                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_prepare.c
720                $(O2SHO)
721                $(SAVE2O)
723 gci_reginabridge.obj : $(SRCDIR)/gci/gci_reginabridge.c  $(GCIHEADERS)
724                $(O2SAVE)
725                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_reginabridge.c
726                $(O2SHO)
727                $(SAVE2O)
729 gci_rxfuncdefine.obj : $(SRCDIR)/gci/gci_rxfuncdefine.c  $(GCIHEADERS)
730                $(O2SAVE)
731                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_rxfuncdefine.c
732                $(O2SHO)
733                $(SAVE2O)
735 gci_tree.obj : $(SRCDIR)/gci/gci_tree.c  $(GCIHEADERS)
736                $(O2SAVE)
737                $(CC) $(COPT_DLL) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/gci/gci_tree.c
738                $(O2SHO)
739                $(SAVE2O)
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)
756 depend:
757                 makedepend $(CSRCFILES)
759 ARCHIVE_FILES = $(ALLSRC) $(README) $(SRCDIR)/makefile* $(SRCDIR)/*.rsp $(DEMOFILES) $(TRIPFILES)
761 dist:
762                 tar -cvf - $(ARCHIVE_FILES) | gzip > Regina_$(VERDOT).tar.gz
764 tar:
765                 tar -cvf - $(ARCHIVE_FILES) | compress > Regina_$(VERDOT).tar.Z
767 zip:
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
780 clean:
781                 rm -f *.a *.map *.lib *.exe *.bak *.dll *.res *.exp *.o *.obj *.mtb
783 # End of makefile
786 # End of makefile