disable the unrecognized nls flag
[AROS-Contrib.git] / regina / makefile.win32.bor
blobc781b1d5d0b2ff4bf13b1204f440199a713bfbcf
2 # Makefile for Regina REXX Interpreter
4 # Using Borland C++ 5.5 under Win32
5 # Usage:
6 #    make -f [DEBUG=Y [TRACEMEM=Y]] [FLISTS=N] [MULTI=Y] [WDOSX=Y]
8 # generated files without giving a target on the command line:
9 # rexx.exe    statically bounded REXX interpreter
10 # rexx.lib    static link library of the REXX interpreter, place anywhere
11 #             in a directory of your LIB-variable.
12 # regina.lib  link file for regina.dll, place anywhere in a directory of
13 #             your LIB-variable.
14 # regina.dll  dynamic link library of the REXX interpreter, place anywhere
15 #             in a directory of your PATH.
16 # regina.exe  dynamically bounded REXX interpreter
18 # let the make utility do the hard work:
19 .AUTODEPEND
20 .CACHEAUTODEPEND
22 SRCDIR=$(REGINA_SRCDIR)
23 COMMONSRCDIR=$(SRCDIR)\common
24 BORLAND=C:\Bcc55
26 CC = bcc32
27 LD = ilink32
28 BASE_COPT = -q -DWIN32 -w-aus -w-par -K
30 !if "$(DEBUG)" == "Y"
31 BASE_LINKOPT = -v
32 DEBUGFLAG = -v
33 OPTIMIZE = -Od
34 ! if "$(TRACEMEM)" == "Y"
35 MEMTRACE = -DTRACEMEM
36 ! else
37 MEMTRACE =
38 ! endif
39 !else
40 BASE_LINKOPT =
41 DEBUGFLAG = -DNDEBUG
42 OPTIMIZE = -O2 -d
43 !endif
45 !if "$(FLISTS)" == "N"
46 NOFLISTS = -UFLISTS
47 !else
48 NOFLISTS =
49 !endif
51 !if "$(WDOSX)" == "Y"
52 FORWDOSX = -DWDOSX
53 !else
54 FORWDOSX =
55 !endif
57 !if "$(MULTI)" == "Y"
58 THREADING = -tWM
59 MT_FILE = mt_win32
60 MT_LIB = cw32mt.lib
61 THREADER = threader.exe
62 STAT_COMP =
63 DYN_COMP = -DDYNAMIC
64 !else
65 THREADING =
66 MT_FILE = mt_notmt
67 MT_LIB = cw32.lib
68 THREADER =
69 STAT_COMP = -tWC
70 DYN_COMP = -tWD -DDYNAMIC
71 !endif
73 LIBS = import32.lib $(MT_LIB)
74 SHL_TARGETS= regina.exe rxtest1.dll rxtest2.dll $(THREADER)
75 LIBFLAGS = rexx.lib
76 LINKSHL = regina.lib
77 GETOPT = getopt.obj
78 DLLDIR = dll-obj
79 LD_RXLIB1= $(SRCDIR)\test1_w32_dll.def
80 LD_RXLIB2= $(SRCDIR)\test2_w32_dll.def
81 MV= -ren
83 CC2O=-c -o$@
85 # Include the common rules for the interpreter
89 # Some settings that you may wish to change, these are used only
90 # for the 'install' target:
92 #   TOPDIR    The top of the directory hierarchy in which to install
93 #   BINDIR    Where to install the compiled 'rexx' program
94 #   LIBDIR    Where to install the 'regina' library
95 #   MANEXT    The extention of the manual page
96 #   MANDIR    Where to install the manual page
97 #   PROGNAME  What to call the compiled program
99 BINDIR = $(TOPDIR)/bin
100 LIBDIR = $(TOPDIR)/lib
101 !include $(SRCDIR)/regina.ver
102 VERDOT=$(VER_DOT)
103 CEXTRA = -DREGINA_VERSION_DATE=\"$(VER_DATE)\" -DREGINA_VERSION_MAJOR=\"$(VER_MAJOR)\" -DREGINA_VERSION_MINOR=\"$(VER_MINOR)\" -DREGINA_VERSION_SUPP=\"$(VER_SUPP)\"
105 COPT = $(CEXTRA) $(OPTIMIZE) $(DEBUGFLAG) $(BASE_COPT) -I$(SRCDIR) $(FORWDOSX) $(MEMTRACE) $(NOFLISTS) $(WINMULTI) $(THREADING)
106 LINKOPT = $(BASE_LINKOPT) -L$(BORLAND)\lib -ap -q
108 README = $(SRCDIR)/README.??? $(SRCDIR)/COPYING-LIB $(SRCDIR)/BUGS $(SRCDIR)/yaccsrc.bound
110 CSRCFILES = $(SRCDIR)/funcs.c $(SRCDIR)/builtin.c $(SRCDIR)/error.c $(SRCDIR)/variable.c \
111         $(SRCDIR)/interprt.c $(SRCDIR)/debug.c $(SRCDIR)/dbgfuncs.c $(SRCDIR)/memory.c $(SRCDIR)/parsing.c $(SRCDIR)/files.c \
112         $(SRCDIR)/misc.c $(SRCDIR)/unxfuncs.c $(SRCDIR)/cmsfuncs.c $(SRCDIR)/os2funcs.c $(SRCDIR)/shell.c $(SRCDIR)/rexxext.c $(SRCDIR)/stack.c \
113         $(SRCDIR)/tracing.c $(SRCDIR)/interp.c $(SRCDIR)/cmath.c $(SRCDIR)/convert.c $(SRCDIR)/strings.c $(SRCDIR)/library.c \
114         $(SRCDIR)/strmath.c $(SRCDIR)/signals.c $(SRCDIR)/macros.c $(SRCDIR)/envir.c $(SRCDIR)/expr.c \
115         $(SRCDIR)/wrappers.c $(SRCDIR)/options.c $(SRCDIR)/os_win.c $(SRCDIR)/os_other.c \
116         $(SRCDIR)/mt_notmt.c $(SRCDIR)/mt_win32.c $(SRCDIR)/mt_posix.c $(SRCDIR)/nosaa.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 arxfuncs.obj cmsfuncs.obj os2funcs.obj shell.obj rexxext.obj stack.obj extstack.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 instore.obj rexxbif.obj \
123         yaccsrc.obj lexsrc.obj options.obj os_win.obj os_other.obj wrappers.obj $(MT_FILE).obj
125 SHOFILES = $(DLLDIR)\funcs.obj $(DLLDIR)\builtin.obj $(DLLDIR)\error.obj $(DLLDIR)\variable.obj $(DLLDIR)\extstack.obj $(DLLDIR)\rexxbif.obj \
126         $(DLLDIR)\interprt.obj $(DLLDIR)\debug.obj $(DLLDIR)\dbgfuncs.obj $(DLLDIR)\memory.obj $(DLLDIR)\parsing.obj $(DLLDIR)\files.obj \
127         $(DLLDIR)\misc.obj $(DLLDIR)\unxfuncs.obj $(DLLDIR)\arxfuncs.obj $(DLLDIR)\cmsfuncs.obj $(DLLDIR)\os2funcs.obj $(DLLDIR)\shell.obj $(DLLDIR)\rexxext.obj $(DLLDIR)\stack.obj \
128         $(DLLDIR)\tracing.obj $(DLLDIR)\interp.obj $(DLLDIR)\cmath.obj $(DLLDIR)\convert.obj $(DLLDIR)\strings.obj $(DLLDIR)\library.obj \
129         $(DLLDIR)\strmath.obj $(DLLDIR)\signals.obj $(DLLDIR)\macros.obj $(DLLDIR)\envir.obj $(DLLDIR)\expr.obj $(DLLDIR)\instore.obj \
130         $(DLLDIR)\yaccsrc.obj $(DLLDIR)\lexsrc.obj $(DLLDIR)\wrappers.obj $(DLLDIR)\options.obj \
131         $(DLLDIR)\os_win.obj $(DLLDIR)\os_other.obj \
132         $(DLLDIR)\rexx.obj $(DLLDIR)\client.obj $(DLLDIR)\rexxsaa.obj $(DLLDIR)\$(MT_FILE).obj
134 DEMODIR = $(SRCDIR)/demo
135 DEMOFILES = $(DEMODIR)/*
136 TRIPDIR = $(SRCDIR)/trip
137 TRIPFILES = $(TRIPDIR)/*
138 UNIXFILES = $(SRCDIR)/*.in $(SRCDIR)/configure $(SRCDIR)/config.sub \
139         $(SRCDIR)/config.guess $(SRCDIR)/aclocal.m4 $(SRCDIR)/install-sh \
140         $(SRCDIR)/INSTALL $(SRCDIR)/yaccsrc.y $(SRCDIR)/lexsrc.l
142 ALLSRC = $(CFILES) $(HFILES)
144 HFILES = $(SRCDIR)/rexx.h $(SRCDIR)/defs.h $(SRCDIR)/extern.h $(SRCDIR)/regina_t.h \
145          $(SRCDIR)/config.h $(SRCDIR)/strings.h $(SRCDIR)/configur.h \
146          $(SRCDIR)/rxiface.h $(SRCDIR)/rexxsaa.h $(SRCDIR)/utsname.h \
147          $(SRCDIR)/mt.h $(SRCDIR)/mt_notmt.h $(SRCDIR)/mt_win32.h $(SRCDIR)/mt_posix.h
149 MTSSRC = $(SRCDIR)/en.mts $(SRCDIR)/pt.mts $(SRCDIR)/no.mts \
150         $(SRCDIR)/de.mts $(SRCDIR)/es.mts $(SRCDIR)/pl.mts \
151         $(SRCDIR)/tr.mts $(SRCDIR)/sv.mts
153 #.SUFFIXES: .sho $(SUFFIXES)
155 # Do not use default suffixes rule
157 .SUFFIXES:
159 all : rexx.exe rexx.lib execiser.exe $(SHL_TARGETS) rxstack.exe rxqueue.exe mtb_files
161 $(CSRCFILES) : $(SRCDIR)/rexx.h
163 $(SRCDIR)/rexx.h : $(SRCDIR)/extern.h $(SRCDIR)/strings.h $(SRCDIR)/defs.h $(SRCDIR)/regina_t.h $(SRCDIR)/mt.h
165 $(SRCDIR)/mt.h : $(SRCDIR)/$(MT_FILE).h
167 $(DLLDIR):
168          -@if not exist $(DLLDIR)\nul mkdir $(DLLDIR)
170 rexx.exe : $(OFILES) rexx.obj nosaa.obj rexxw32exe.res
171          $(LD) $(LINKOPT) /Tpe c0x32.obj $(OFILES) rexx.obj nosaa.obj , rexx.exe, , $(LIBS), , rexxw32exe.res
173 regina.exe : regina.dll regina.obj $(GETOPT) reginaw32exe.res
174          $(LD) $(LINKOPT) /Tpe c0x32.obj regina.obj $(GETOPT), regina.exe, ,$(LINKSHL) $(LIBS), , reginaw32exe.res
176 execiser.exe : execiser.obj regina.dll
177          $(LD) $(LINKOPT) /Tpe c0x32.obj execiser.obj, execiser.exe, , $(LINKSHL) $(LIBS), ,
179 rxqueue.exe : rxqueue.obj erexxbif.obj eextstack.obj reginaw32exe.res
180          $(LD) $(LINKOPT) /Tpe c0x32.obj rxqueue.obj+erexxbif.obj+eextstack.obj, rxqueue.exe, , $(LINKSHL) $(LIBS), , reginaw32exe.res
182 rxstack.exe : rxstack.obj erexxbif.obj eextstack.obj reginaw32exe.res
183          $(LD) $(LINKOPT) /Tpe c0x32.obj rxstack.obj+erexxbif.obj+eextstack.obj, rxstack.exe, , $(LINKSHL) $(LIBS), , reginaw32exe.res
185 threader.exe : threader.obj regina.dll
186          $(LD) $(LINKOPT) /Tpe c0x32.obj threader.obj, threader.exe, , $(LINKSHL) import32.lib cw32mt.lib, ,
188 rexx.lib: $(OFILES) client.obj drexx.obj rexxsaa.obj
189         tlib $(LIBFLAGS) /u $(OFILES) client.obj drexx.obj rexxsaa.obj
191 regina.dll: $(DLLDIR) $(SHOFILES) reginaw32dll.res
192         $(LD) $(LINKOPT) -Gi /Tpd c0d32.obj $(SHOFILES), regina.dll, regina_dd.map, $(LIBS), $(SRCDIR)\regina_w32_dll.def, reginaw32dll.res
195 # Convert .mts to .mtb
197 mtb_files: msgcmp.exe $(MTSSRC)
198         msgcmp $(MTSSRC)
200 msgcmp.exe: msgcmp.obj reginaw32exe.res
201          $(LD) $(LINKOPT) /Tpe c0x32.obj msgcmp.obj, msgcmp, , $(LINKSHL) $(LIBS), , reginaw32exe.res
203 msgcmp.obj: $(SRCDIR)/msgcmp.c
204         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/msgcmp.c
207 # Rules for static objects
209 funcs.obj :   $(SRCDIR)/funcs.c
210         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/funcs.c
212 builtin.obj : $(SRCDIR)/builtin.c
213         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/builtin.c
215 error.obj :   $(SRCDIR)/error.c
216         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/error.c
218 variable.obj :$(SRCDIR)/variable.c
219         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/variable.c
221 interprt.obj :$(SRCDIR)/interprt.c
222         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/interprt.c
224 debug.obj :   $(SRCDIR)/debug.c
225         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/debug.c
227 dbgfuncs.obj :$(SRCDIR)/dbgfuncs.c
228         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/dbgfuncs.c
230 memory.obj :  $(SRCDIR)/memory.c
231         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/memory.c
233 parsing.obj : $(SRCDIR)/parsing.c
234         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/parsing.c
236 files.obj :   $(SRCDIR)/files.c
237         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/files.c
239 misc.obj :    $(SRCDIR)/misc.c
240         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/misc.c
242 unxfuncs.obj :$(SRCDIR)/unxfuncs.c
243         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/unxfuncs.c
245 arxfuncs.obj :$(SRCDIR)/arxfuncs.c
246         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/arxfuncs.c
248 os2funcs.obj :$(SRCDIR)/os2funcs.c
249         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/os2funcs.c
251 cmsfuncs.obj :$(SRCDIR)/cmsfuncs.c
252         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/cmsfuncs.c
254 shell.obj :   $(SRCDIR)/shell.c
255         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/shell.c
257 rexxext.obj : $(SRCDIR)/rexxext.c
258         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/rexxext.c
260 stack.obj :   $(SRCDIR)/stack.c
261         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/stack.c
263 extstack.obj :   $(SRCDIR)/extstack.c
264         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/extstack.c
266 eextstack.obj : $(SRCDIR)/extstack.c $(SRCDIR)/rexx.h
267         $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/extstack.c
269 rexxbif.obj :   $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
270         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/rexxbif.c
272 erexxbif.obj :   $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
273         $(CC) $(COPT) -DEXTERNAL_TO_REGINA $(CC2O) $(STAT_COMP) $(SRCDIR)/rexxbif.c
275 tracing.obj : $(SRCDIR)/tracing.c
276         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/tracing.c
278 interp.obj :  $(SRCDIR)/interp.c
279         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/interp.c
281 cmath.obj :   $(SRCDIR)/cmath.c
282         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/cmath.c
284 convert.obj : $(SRCDIR)/convert.c
285         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/convert.c
287 strings.obj : $(SRCDIR)/strings.c
288         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/strings.c
290 library.obj : $(SRCDIR)/library.c
291         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/library.c
293 strmath.obj : $(SRCDIR)/strmath.c
294         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/strmath.c
296 signals.obj : $(SRCDIR)/signals.c
297         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/signals.c
299 macros.obj :  $(SRCDIR)/macros.c
300         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/macros.c
302 envir.obj :   $(SRCDIR)/envir.c
303         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/envir.c
305 expr.obj :    $(SRCDIR)/expr.c
306         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/expr.c
308 wrappers.obj :$(SRCDIR)/wrappers.c
309         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/wrappers.c
311 options.obj : $(SRCDIR)/options.c
312         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/options.c
314 os_win.obj :  $(SRCDIR)/os_win.c
315         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/os_win.c
317 os_other.obj :  $(SRCDIR)/os_other.c
318         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/os_other.c
320 rexx.obj :    $(SRCDIR)/rexx.c
321         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/rexx.c
323 client.obj :    $(SRCDIR)/client.c
324         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/client.c
326 rexxsaa.obj :    $(SRCDIR)/rexxsaa.c   $(SRCDIR)\rexxsaa.h
327         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/rexxsaa.c
329 regina.obj :  $(SRCDIR)/regina.c
330         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/regina.c
332 drexx.obj : $(SRCDIR)/rexx.c
333         $(CC) $(COPT) -DRXLIB $(CC2O) $(STAT_COMP) $(SRCDIR)/rexx.c
335 mt_notmt.obj : $(SRCDIR)/mt_notmt.c
336         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/mt_notmt.c
338 mt_win32.obj : $(SRCDIR)/mt_win32.c
339         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/mt_win32.c
341 nosaa.obj : $(SRCDIR)/nosaa.c
342         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/nosaa.c
344 instore.obj : $(SRCDIR)/instore.c
345         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/instore.c
347 lexsrc.obj : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h
348         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/lexsrc.c
350 yaccsrc.obj : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
351         $(CC) $(COPT) $(CC2O) $(STAT_COMP) -A -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
353 execiser.obj : $(SRCDIR)/execiser.c $(SRCDIR)/rexx.h
354         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/execiser.c
356 threader.obj : $(SRCDIR)/threader.c $(SRCDIR)/rexxsaa.h
357         $(CC) $(COPT) $(CC2O) $(STAT_COMP) -DWIN32_THREADS $(SRCDIR)/threader.c
359 getopt.obj : $(SRCDIR)/getopt.c
360         $(CC) $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/getopt.c
362 rxqueue.obj : $(SRCDIR)/rxqueue.c $(SRCDIR)/rexx.h
363         $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/rxqueue.c
365 rxstack.obj : $(SRCDIR)/rxstack.c $(SRCDIR)/rexx.h
366         $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) $(STAT_COMP) $(SRCDIR)/rxstack.c
369 # Rules for shared objects
371 $(DLLDIR)\funcs.obj :   $(SRCDIR)/funcs.c
372         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/funcs.c
374 $(DLLDIR)\builtin.obj : $(SRCDIR)/builtin.c
375         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/builtin.c
377 $(DLLDIR)\error.obj :   $(SRCDIR)/error.c
378         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/error.c
380 $(DLLDIR)\variable.obj :$(SRCDIR)/variable.c
381         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/variable.c
383 $(DLLDIR)\interprt.obj :$(SRCDIR)/interprt.c
384         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/interprt.c
386 $(DLLDIR)\debug.obj :   $(SRCDIR)/debug.c
387         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/debug.c
389 $(DLLDIR)\dbgfuncs.obj :$(SRCDIR)/dbgfuncs.c
390         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/dbgfuncs.c
392 $(DLLDIR)\memory.obj :  $(SRCDIR)/memory.c
393         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/memory.c
395 $(DLLDIR)\parsing.obj : $(SRCDIR)/parsing.c
396         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/parsing.c
398 $(DLLDIR)\files.obj :   $(SRCDIR)/files.c
399         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/files.c
401 $(DLLDIR)\misc.obj :    $(SRCDIR)/misc.c
402         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/misc.c
404 $(DLLDIR)\unxfuncs.obj :$(SRCDIR)/unxfuncs.c
405         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/unxfuncs.c
407 $(DLLDIR)\arxfuncs.obj :$(SRCDIR)/arxfuncs.c
408         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/arxfuncs.c
410 $(DLLDIR)\os2funcs.obj :$(SRCDIR)/os2funcs.c
411         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/os2funcs.c
413 $(DLLDIR)\cmsfuncs.obj :$(SRCDIR)/cmsfuncs.c
414         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/cmsfuncs.c
416 $(DLLDIR)\shell.obj :   $(SRCDIR)/shell.c
417         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/shell.c
419 $(DLLDIR)\rexxext.obj : $(SRCDIR)/rexxext.c
420         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/rexxext.c
422 $(DLLDIR)\stack.obj :   $(SRCDIR)/stack.c
423         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/stack.c
425 $(DLLDIR)\extstack.obj :   $(SRCDIR)/extstack.c
426         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/extstack.c
428 $(DLLDIR)\rexxbif.obj :   $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
429         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/rexxbif.c
431 $(DLLDIR)\tracing.obj : $(SRCDIR)/tracing.c
432         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/tracing.c
434 $(DLLDIR)\interp.obj :  $(SRCDIR)/interp.c
435         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/interp.c
437 $(DLLDIR)\cmath.obj :   $(SRCDIR)/cmath.c
438         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/cmath.c
440 $(DLLDIR)\convert.obj : $(SRCDIR)/convert.c
441         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/convert.c
443 $(DLLDIR)\strings.obj : $(SRCDIR)/strings.c
444         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/strings.c
446 $(DLLDIR)\library.obj : $(SRCDIR)/library.c
447         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/library.c
449 $(DLLDIR)\strmath.obj : $(SRCDIR)/strmath.c
450         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/strmath.c
452 $(DLLDIR)\signals.obj : $(SRCDIR)/signals.c
453         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/signals.c
455 $(DLLDIR)\macros.obj :  $(SRCDIR)/macros.c
456         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/macros.c
458 $(DLLDIR)\envir.obj :   $(SRCDIR)/envir.c
459         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/envir.c
461 $(DLLDIR)\expr.obj :    $(SRCDIR)/expr.c
462         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/expr.c
464 $(DLLDIR)\wrappers.obj :$(SRCDIR)/wrappers.c
465         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/wrappers.c
467 $(DLLDIR)\options.obj : $(SRCDIR)/options.c
468         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/options.c
470 $(DLLDIR)\os_win.obj :  $(SRCDIR)/os_win.c
471         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/os_win.c
473 $(DLLDIR)\os_other.obj :  $(SRCDIR)/os_other.c
474         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/os_other.c
476 $(DLLDIR)\client.obj :  $(SRCDIR)/client.c
477         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/client.c
479 $(DLLDIR)\rexxsaa.obj :  $(SRCDIR)/rexxsaa.c  $(SRCDIR)\rexxsaa.h
480         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/rexxsaa.c
482 $(DLLDIR)\rexx.obj : $(SRCDIR)/rexx.c
483         $(CC) $(COPT) $(CC2O) $(DYN_COMP) -DRXLIB $(SRCDIR)/rexx.c
485 $(DLLDIR)\mt_win32.obj : $(SRCDIR)/mt_win32.c
486         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/mt_win32.c
488 $(DLLDIR)\mt_notmt.obj : $(SRCDIR)/mt_notmt.c
489         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/mt_notmt.c
491 $(DLLDIR)\instore.obj : $(SRCDIR)/instore.c
492         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/instore.c
494 $(DLLDIR)\lexsrc.obj : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h
495         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/lexsrc.c
497 $(DLLDIR)\yaccsrc.obj : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
498         $(CC) $(COPT) $(CC2O) $(DYN_COMP) -A -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
501 # Rules for sample programs
503 test1.obj: $(SRCDIR)/test1.c
504         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/test1.c
506 rxtest1.dll: test1.obj regina.dll
507         $(LD) $(LINKOPT) /Tpd c0d32.obj test1.obj, rxtest1.dll, , $(LINKSHL) $(LIBS), $(LD_RXLIB1),
509 test2.obj: $(SRCDIR)/test2.c
510         $(CC) $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/test2.c
512 rxtest2.dll: test2.obj regina.dll
513         $(LD) $(LINKOPT) /Tpd c0d32.obj test2.obj, rxtest2.dll, , $(LINKSHL) $(LIBS), $(LD_RXLIB2),
516 # Rules for resource files and version details
517 # We assume we have an already functional regina.exe
519 reginaw32dll.rc: $(SRCDIR)\regina.ver $(SRCDIR)\reginaw32dll.rc
520         regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\reginaw32dll.rc $@ $(VERDOT) $(VERDATE)
521 reginaw32exe.rc: $(SRCDIR)\regina.ver $(SRCDIR)\reginaw32exe.rc
522         regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\reginaw32exe.rc $@ $(VERDOT) $(VERDATE)
523 rxstackw32exe.rc: $(SRCDIR)\regina.ver $(SRCDIR)\rxstackw32exe.rc
524         regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\rxstackw32exe.rc $@ $(VERDOT) $(VERDATE)
525 rxqueuew32exe.rc: $(SRCDIR)\regina.ver $(SRCDIR)\rxqueuew32exe.rc
526         regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\rxqueuew32exe.rc $@ $(VERDOT) $(VERDATE)
527 rexxw32exe.rc: $(SRCDIR)/regina.ver $(SRCDIR)/rexxw32exe.rc
528         regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\rexxw32exe.rc $@ $(VERDOT) $(VERDATE)
531 # Rules for resources
533 reginaw32dll.res: reginaw32dll.rc
534         -copy $(SRCDIR)\reginaw32.ico .
535         brcc32 -foreginaw32dll.res -i$(SRCDIR)\;$(BORLAND)\include reginaw32dll.rc
537 reginaw32exe.res: reginaw32exe.rc
538         -copy $(SRCDIR)\reginaw32.ico .
539         brcc32 -foreginaw32exe.res -i$(SRCDIR)\;$(BORLAND)\include reginaw32exe.rc
541 rexxw32exe.res: rexxw32exe.rc
542         -copy $(SRCDIR)\reginaw32.ico .
543         brcc32 -forexxw32exe.res -i$(SRCDIR)\;$(BORLAND)\include rexxw32exe.rc
546 clean:
547         -del /Q *.*
548         -cd $(DLLDIR)
549         -del /Q *.*
550         -cd ..
551         -rd $(DLLDIR)
553 ARCHIVE_FILES = $(ALLSRC) $(README) $(SRCDIR)/makefile.* $(SRCDIR)/oldmakefiles/makefile* \
554         $(SRCDIR)/oldmakefiles/README $(SRCDIR)/*.rsp $(DEMOFILES) $(TRIPFILES) \
555         $(CONFFILES) $(SRCDIR)/*.def $(SRCDIR)/*.ico $(SRCDIR)/*.rc \
556         $(SRCDIR)/file_id* $(SRCDIR)/*.bat $(SRCDIR)/*.cmd $(YACCLEX_FILES) \
557         $(SRCDIR)/*.rexx $(UNIXFILES)
559 dist:
560         tar -cvf - $(ARCHIVE_FILES) | gzip > Regina_$(VERDOT).tar.gz
562 tar:
563         tar -cvf - $(ARCHIVE_FILES) | compress > Regina_$(VERDOT).tar.Z
565 zip:
566         zip regna$(VER) $(ARCHIVE_FILES)