development-curl is a virtual target
[AROS-Contrib.git] / regina / makefile.win32.wcc
bloba71ad2a24a1778fc49492c17b6041301c6d06d1b
2 # Makefile for Regina REXX Interpreter using OpenWatcom C/C++ 1.0+
4 # set the environment variable REGINA_SRCDIR and then call
6 # wmake -f makefile.win32.wcc [DEBUG=Y] [FLISTS=N] [MULTI=Y]
9 SRC=$(%REGINA_SRCDIR)
11 !include $(SRC)\regina.ver
12 VERDOT = $(VER_DOT)
13 VERDATE = $(VER_DATE)
15 LIBFILE=rexx.lib
16 DLLBASE=regina
17 DLLFILE=$(DLLBASE).dll
18 IMPFILE=$(DLLBASE).lib
20 DLLTEST1=rxtest1.dll
21 DLLTEST2=rxtest2.dll
23 CC              = wcc386
24 TARGET=nt
25 MULTI = Y
27 !ifeq DEBUG Y
28 CFLAGS  = /d2
29 LDFLAGS = DEBUG ALL
30 !ifeq TRACEMEM Y
31 MEMTRACE = /DTRACEMEM
32 !else
33 MEMTRACE =
34 !endif
35 !else
36 CFLAGS  =  /DNDEBUG /oneatx
37 LDFLAGS =
38 !endif
40 !ifeq FLISTS N
41 NOFLISTS = /uFLISTS
42 !else
43 NOFLISTS =
44 !endif
46 !ifeq MULTI Y
47 THREADING_COMPILE = /bm
48 MT_FILE = mt_win32
49 THREADING_TARGET = threader.exe
50 !else
51 THREADING_COMPILE =
52 MT_FILE = mt_notmt
53 THREADING_TARGET =
54 !endif
56 OFILES =      &
57 funcs.obj     &
58 builtin.obj   &
59 error.obj     &
60 variable.obj  &
61 interprt.obj  &
62 debug.obj     &
63 dbgfuncs.obj  &
64 memory.obj    &
65 parsing.obj   &
66 files.obj     &
67 misc.obj      &
68 unxfuncs.obj  &
69 os2funcs.obj  &
70 cmsfuncs.obj  &
71 arxfuncs.obj  &
72 shell.obj     &
73 rexxext.obj   &
74 stack.obj     &
75 tracing.obj   &
76 interp.obj    &
77 cmath.obj     &
78 convert.obj   &
79 strings.obj   &
80 library.obj   &
81 strmath.obj   &
82 signals.obj   &
83 macros.obj    &
84 envir.obj     &
85 expr.obj      &
86 yaccsrc.obj   &
87 lexsrc.obj    &
88 wrappers.obj  &
89 options.obj   &
90 instore.obj   &
91 extstack.obj  &
92 rexxbif.obj   &
93 $(MT_FILE).obj   &
94 os_win.obj    &
95 os_other.obj
98 DLOFILES =      &
99 funcs.dlo     &
100 builtin.dlo   &
101 error.dlo     &
102 variable.dlo  &
103 interprt.dlo  &
104 debug.dlo     &
105 dbgfuncs.dlo  &
106 memory.dlo    &
107 parsing.dlo   &
108 files.dlo     &
109 misc.dlo      &
110 unxfuncs.dlo  &
111 os2funcs.dlo  &
112 cmsfuncs.dlo  &
113 arxfuncs.dlo  &
114 shell.dlo     &
115 rexxext.dlo   &
116 stack.dlo     &
117 tracing.dlo   &
118 interp.dlo    &
119 cmath.dlo     &
120 convert.dlo   &
121 strings.dlo   &
122 library.dlo   &
123 strmath.dlo   &
124 signals.dlo   &
125 macros.dlo    &
126 envir.dlo     &
127 expr.dlo      &
128 yaccsrc.dlo   &
129 lexsrc.dlo    &
130 wrappers.dlo  &
131 options.dlo   &
132 instore.dlo   &
133 extstack.dlo  &
134 rexxbif.dlo   &
135 $(MT_FILE).dlo   &
136 os_win.dlo    &
137 os_other.dlo
140 # if VER_SUPP not blank, may need to add double quotes
142 CEXTRA   = -DREGINA_VERSION_DATE=$(VER_DATE) -DREGINA_VERSION_MAJOR="$(VER_MAJOR)" -DREGINA_VERSION_MINOR="$(VER_MINOR)" -DREGINA_VERSION_SUPP=$(VER_SUPP)
143 CPPFLAGS = /DWIN32 /i=$(SRC) #/i=d:\h /i=d:\h\nt
144 CCFLAGS  = /ei /zq /mf /wx $(CFLAGS) $(CPPFLAGS) $(CEXTRA) $(MEMTRACE) $(NOFLISTS) $(THREADING_COMPILE)
146 DYN_COMP        =/bd /DDYNAMIC $(THREADING_COMPILE)
148 LINK            = wlink
150 LIBEXE          = wlib
151 LIBFLAGS                = /q /n
153 HFILES = $(SRC)\rexx.h $(SRC)\defs.h $(SRC)\extern.h $(SRC)\regina_t.h $(SRC)\strings.h
155 MTSSRC = $(SRC)\en.mts $(SRC)\pt.mts $(SRC)\no.mts $(SRC)\de.mts $(SRC)\es.mts $(SRC)\pl.mts $(SRC)\tr.mts $(SRC)\sv.mts
157 all : rexx.exe regina.exe execiser.exe $(DLLFILE) $(LIBFILE) $(DLLTEST1) $(DLLTEST2) rxstack.exe rxqueue.exe $(THREADING_TARGET) mtb_files
159 rexx.exe : $(OFILES) rexx.obj nosaa.obj
160         @%create dummy.lnk
161         @%append dummy.lnk option quiet
162         @%append dummy.lnk option stack=0x10000000
163         @%append dummy.lnk option heapsize=40960
164         @%append dummy.lnk system $(TARGET)
165         @%append dummy.lnk name rexx.exe
166         @%append dummy.lnk file rexx.obj
167         @%append dummy.lnk file nosaa.obj
168         for %i in ($(OFILES)) do %append dummy.lnk file %i
169         @%append dummy.lnk library user32,wsock32
170         $(LINK) $(LDFLAGS) @dummy.lnk
171         del dummy.lnk
173 regina.exe : $(IMPFILE) regina.obj
174         @%create dummy.lnk
175         @%append dummy.lnk option quiet
176         @%append dummy.lnk option stack=0x10000000
177         @%append dummy.lnk option heapsize=40960
178         @%append dummy.lnk system $(TARGET)
179         @%append dummy.lnk name regina.exe
180         @%append dummy.lnk file regina.obj
181         @%append dummy.lnk file $(IMPFILE)
182         $(LINK) $(LDFLAGS) @dummy.lnk
183         del dummy.lnk
185 execiser.exe : $(LIBFILE) execiser.obj
186         @%create dummy.lnk
187         @%append dummy.lnk option quiet
188         @%append dummy.lnk option stack=0x10000000
189         @%append dummy.lnk option heapsize=40960
190         @%append dummy.lnk system $(TARGET)
191         @%append dummy.lnk name execiser.exe
192         @%append dummy.lnk file execiser.obj
193         @%append dummy.lnk file $(IMPFILE)
194         @%append dummy.lnk library user32,wsock32
195         $(LINK) $(LDFLAGS) @dummy.lnk
196         del dummy.lnk
198 threader.exe : $(LIBFILE) threader.obj
199         @%create dummy.lnk
200         @%append dummy.lnk option quiet
201         @%append dummy.lnk option stack=0x10000000
202         @%append dummy.lnk option heapsize=40960
203         @%append dummy.lnk system $(TARGET)
204         @%append dummy.lnk name threader.exe
205         @%append dummy.lnk file threader.obj
206         @%append dummy.lnk file $(IMPFILE)
207         @%append dummy.lnk library user32,wsock32
208         $(LINK) $(LDFLAGS) @dummy.lnk
209         del dummy.lnk
211 rxstack.exe : rxstack.obj erexxbif.obj eextstack.obj
212         @%create dummy.lnk
213         @%append dummy.lnk option quiet
214         @%append dummy.lnk option stack=0x10000000
215         @%append dummy.lnk option heapsize=40960
216         @%append dummy.lnk system $(TARGET)
217         @%append dummy.lnk name rxstack.exe
218         @%append dummy.lnk file rxstack.obj
219         @%append dummy.lnk file eextstack.obj
220         @%append dummy.lnk file erexxbif.obj
221         @%append dummy.lnk library user32,wsock32
222         $(LINK) $(LDFLAGS) @dummy.lnk
223         del dummy.lnk
225 rxqueue.exe : rxqueue.obj erexxbif.obj eextstack.obj
226         @%create dummy.lnk
227         @%append dummy.lnk option quiet
228         @%append dummy.lnk option stack=0x10000000
229         @%append dummy.lnk option heapsize=40960
230         @%append dummy.lnk system $(TARGET)
231         @%append dummy.lnk name rxqueue.exe
232         @%append dummy.lnk file rxqueue.obj
233         @%append dummy.lnk file eextstack.obj
234         @%append dummy.lnk file erexxbif.obj
235         @%append dummy.lnk library user32,wsock32
236         $(LINK) $(LDFLAGS) @dummy.lnk
237         del dummy.lnk
239 $(LIBFILE): $(OFILES) client.obj drexx.obj rexxsaa.obj
240         @%create lib.rsp
241         @%append lib.rsp +client.obj
242         @%append lib.rsp +drexx.obj
243         @%append lib.rsp +rexxsaa.obj
244         for %i in ($(OFILES)) do %append lib.rsp +%i
245         $(LIBEXE) $(LIBFLAGS) $@ @lib.rsp
246         del lib.rsp
248 $(DLLFILE): $(DLOFILES) client.dlo drexx.dlo rexxsaa.dlo
249         @%create dummy.lnk
250         @%append dummy.lnk option quiet
251         @%append dummy.lnk option stack=40960
252         @%append dummy.lnk option heapsize=40960
253         @%append dummy.lnk system $(TARGET)_dll initinstance terminstance
254         @%append dummy.lnk name $(DLLFILE)
255         @%append dummy.lnk file client.dlo
256         @%append dummy.lnk file drexx.dlo
257         @%append dummy.lnk file rexxsaa.dlo
258         for %i in ($(DLOFILES)) do %append dummy.lnk file %i
259         @%append dummy.lnk library user32,wsock32
260         @%append dummy.lnk export '_RexxStart@36'
261         @%append dummy.lnk export RexxStart='_RexxStart@36'
262         @%append dummy.lnk export _RexxStart='_RexxStart@36'
263         @%append dummy.lnk export '_RexxCallBack@20'
264         @%append dummy.lnk export RexxCallBack='_RexxCallBack@20'
265         @%append dummy.lnk export _RexxCallBack='_RexxCallBack@20'
266         @%append dummy.lnk export '_RexxAllocateMemory@4'
267         @%append dummy.lnk export RexxAllocateMemory='_RexxAllocateMemory@4'
268         @%append dummy.lnk export _RexxAllocateMemory='_RexxAllocateMemory@4'
269         @%append dummy.lnk export '_RexxFreeMemory@4'
270         @%append dummy.lnk export RexxFreeMemory='_RexxFreeMemory@4'
271         @%append dummy.lnk export _RexxFreeMemory='_RexxFreeMemory@4'
272         @%append dummy.lnk export '_RexxRegisterSubcomExe@12'
273         @%append dummy.lnk export RexxRegisterSubcomExe='_RexxRegisterSubcomExe@12'
274         @%append dummy.lnk export _RexxRegisterSubcomExe='_RexxRegisterSubcomExe@12'
275         @%append dummy.lnk export '_RexxRegisterSubcomDll@20'
276         @%append dummy.lnk export RexxRegisterSubcomDll='_RexxRegisterSubcomDll@20'
277         @%append dummy.lnk export _RexxRegisterSubcomDll='_RexxRegisterSubcomDll@20'
278         @%append dummy.lnk export '_RexxQuerySubcom@16'
279         @%append dummy.lnk export RexxQuerySubcom='_RexxQuerySubcom@16'
280         @%append dummy.lnk export _RexxQuerySubcom='_RexxQuerySubcom@16'
281         @%append dummy.lnk export '_RexxDeregisterSubcom@8'
282         @%append dummy.lnk export RexxDeregisterSubcom='_RexxDeregisterSubcom@8'
283         @%append dummy.lnk export _RexxDeregisterSubcom='_RexxDeregisterSubcom@8'
284         @%append dummy.lnk export '_RexxVariablePool@4'
285         @%append dummy.lnk export RexxVariablePool='_RexxVariablePool@4'
286         @%append dummy.lnk export _RexxVariablePool='_RexxVariablePool@4'
287         @%append dummy.lnk export '_RexxRegisterExitExe@12'
288         @%append dummy.lnk export RexxRegisterExitExe='_RexxRegisterExitExe@12'
289         @%append dummy.lnk export _RexxRegisterExitExe='_RexxRegisterExitExe@12'
290         @%append dummy.lnk export '_RexxRegisterExitDll@20'
291         @%append dummy.lnk export RexxRegisterExitDll='_RexxRegisterExitDll@20'
292         @%append dummy.lnk export _RexxRegisterExitDll='_RexxRegisterExitDll@20'
293         @%append dummy.lnk export '_RexxDeregisterExit@8'
294         @%append dummy.lnk export RexxDeregisterExit='_RexxDeregisterExit@8'
295         @%append dummy.lnk export _RexxDeregisterExit='_RexxDeregisterExit@8'
296         @%append dummy.lnk export '_RexxQueryExit@16'
297         @%append dummy.lnk export RexxQueryExit='_RexxQueryExit@16'
298         @%append dummy.lnk export _RexxQueryExit='_RexxQueryExit@16'
299         @%append dummy.lnk export '_RexxRegisterFunctionExe@8'
300         @%append dummy.lnk export RexxRegisterFunctionExe='_RexxRegisterFunctionExe@8'
301         @%append dummy.lnk export _RexxRegisterFunctionExe='_RexxRegisterFunctionExe@8'
302         @%append dummy.lnk export '_RexxRegisterFunctionDll@12'
303         @%append dummy.lnk export RexxRegisterFunctionDll='_RexxRegisterFunctionDll@12'
304         @%append dummy.lnk export _RexxRegisterFunctionDll='_RexxRegisterFunctionDll@12'
305         @%append dummy.lnk export '_RexxDeregisterFunction@4'
306         @%append dummy.lnk export RexxDeregisterFunction='_RexxDeregisterFunction@4'
307         @%append dummy.lnk export _RexxDeregisterFunction='_RexxDeregisterFunction@4'
308         @%append dummy.lnk export '_RexxQueryFunction@4'
309         @%append dummy.lnk export RexxQueryFunction='_RexxQueryFunction@4'
310         @%append dummy.lnk export _RexxQueryFunction='_RexxQueryFunction@4'
311         @%append dummy.lnk export '_RexxSetHalt@8'
312         @%append dummy.lnk export RexxSetHalt='_RexxSetHalt@8'
313         @%append dummy.lnk export _RexxSetHalt='_RexxSetHalt@8'
314         @%append dummy.lnk export '_RexxCreateQueue@16'
315         @%append dummy.lnk export RexxCreateQueue='_RexxCreateQueue@16'
316         @%append dummy.lnk export _RexxCreateQueue='_RexxCreateQueue@16'
317         @%append dummy.lnk export '_RexxDeleteQueue@4'
318         @%append dummy.lnk export RexxDeleteQueue='_RexxDeleteQueue@4'
319         @%append dummy.lnk export _RexxDeleteQueue='_RexxDeleteQueue@4'
320         @%append dummy.lnk export '_RexxQueryQueue@8'
321         @%append dummy.lnk export RexxQueryQueue='_RexxQueryQueue@8'
322         @%append dummy.lnk export _RexxQueryQueue='_RexxQueryQueue@8'
323         @%append dummy.lnk export '_RexxAddQueue@12'
324         @%append dummy.lnk export RexxAddQueue='_RexxAddQueue@12'
325         @%append dummy.lnk export _RexxAddQueue='_RexxAddQueue@12'
326         @%append dummy.lnk export '_RexxPullQueue@16'
327         @%append dummy.lnk export RexxPullQueue='_RexxPullQueue@16'
328         @%append dummy.lnk export _RexxPullQueue='_RexxPullQueue@16'
329         @%append dummy.lnk export '_RexxAddMacro@12'
330         @%append dummy.lnk export RexxAddMacro='_RexxAddMacro@12'
331         @%append dummy.lnk export _RexxAddMacro='_RexxAddMacro@12'
332         @%append dummy.lnk export '_RexxDropMacro@4'
333         @%append dummy.lnk export RexxDropMacro='_RexxDropMacro@4'
334         @%append dummy.lnk export _RexxDropMacro='_RexxDropMacro@4'
335         @%append dummy.lnk export '_RexxReorderMacro@8'
336         @%append dummy.lnk export RexxReorderMacro='_RexxReorderMacro@8'
337         @%append dummy.lnk export _RexxReorderMacro='_RexxReorderMacro@8'
338         @%append dummy.lnk export '_RexxSaveMacroSpace@12'
339         @%append dummy.lnk export RexxSaveMacroSpace='_RexxSaveMacroSpace@12'
340         @%append dummy.lnk export _RexxSaveMacroSpace='_RexxSaveMacroSpace@12'
341         @%append dummy.lnk export '_RexxLoadMacroSpace@12'
342         @%append dummy.lnk export RexxLoadMacroSpace='_RexxLoadMacroSpace@12'
343         @%append dummy.lnk export _RexxLoadMacroSpace='_RexxLoadMacroSpace@12'
344         @%append dummy.lnk export '_RexxClearMacroSpace@0'
345         @%append dummy.lnk export RexxClearMacroSpace='_RexxClearMacroSpace@0'
346         @%append dummy.lnk export _RexxClearMacroSpace='_RexxClearMacroSpace@0'
347         @%append dummy.lnk export '_ReginaVersion@4'
348         @%append dummy.lnk export ReginaVersion='_ReginaVersion@4'
349         @%append dummy.lnk export _ReginaVersion='_ReginaVersion@4'
350         @%append dummy.lnk export '___regina_faked_main@8'
351         @%append dummy.lnk export __regina_faked_main='___regina_faked_main@8'
352         @%append dummy.lnk export ___regina_faked_main='___regina_faked_main@8'
353         @%append dummy.lnk export '_ReginaCleanup@0'
354         @%append dummy.lnk export ReginaCleanup='_ReginaCleanup@0'
355         @%append dummy.lnk export _ReginaCleanup='_ReginaCleanup@0'
356         $(LINK) $(LDFLAGS) @dummy.lnk
357         del dummy.lnk
359 $(DLLTEST1): test1.dlo $(IMPFILE)
360         @%create dummy.lnk
361         @%append dummy.lnk option quiet
362         @%append dummy.lnk option stack=40960
363         @%append dummy.lnk option heapsize=40960
364         @%append dummy.lnk system $(TARGET)_dll initinstance terminstance
365         @%append dummy.lnk name $(DLLTEST1)
366         @%append dummy.lnk file test1.dlo
367         @%append dummy.lnk export Test1Function1='_Test1Function1@20'
368         @%append dummy.lnk export Test1Function2='_Test1Function2@20'
369         @%append dummy.lnk export Test1DropFuncs='_Test1DropFuncs@20'
370         @%append dummy.lnk export Test1LoadFuncs='_Test1LoadFuncs@20'
371         @%append dummy.lnk library $(IMPFILE)
372         $(LINK) $(LDFLAGS) @dummy.lnk
373         del dummy.lnk
375 $(DLLTEST2): test2.dlo $(IMPFILE)
376         @%create dummy.lnk
377         @%append dummy.lnk option quiet
378         @%append dummy.lnk option stack=40960
379         @%append dummy.lnk option heapsize=40960
380         @%append dummy.lnk system $(TARGET)_dll initinstance terminstance
381         @%append dummy.lnk name $(DLLTEST2)
382         @%append dummy.lnk file test2.dlo
383         @%append dummy.lnk export Test2Function1='_Test2Function1@20'
384         @%append dummy.lnk export Test2Function2='_Test2Function2@20'
385         @%append dummy.lnk export Test2DropFuncs='_Test2DropFuncs@20'
386         @%append dummy.lnk export Test2LoadFuncs='_Test2LoadFuncs@20'
387         @%append dummy.lnk library $(IMPFILE)
388         $(LINK) $(LDFLAGS) @dummy.lnk
389         del dummy.lnk
391 $(IMPFILE): $(DLLFILE)
392         $(LIBEXE) $(LIBFLAGS) $(DLLBASE) +$(DLLFILE)
395 # rules for making normal object files
397 funcs.obj:    $(SRC)\funcs.c $(HFILES)
398         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
400 builtin.obj:  $(SRC)\builtin.c $(HFILES)
401         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
403 error.obj:    $(SRC)\error.c $(HFILES)
404         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
406 variable.obj: $(SRC)\variable.c $(HFILES)
407         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
409 interprt.obj: $(SRC)\interprt.c $(HFILES)
410         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
412 debug.obj:    $(SRC)\debug.c $(HFILES)
413         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
415 dbgfuncs.obj: $(SRC)\dbgfuncs.c $(HFILES)
416         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
418 memory.obj:   $(SRC)\memory.c $(HFILES)
419         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
421 parsing.obj:  $(SRC)\parsing.c $(HFILES)
422         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
424 files.obj:    $(SRC)\files.c $(HFILES)
425         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
427 misc.obj:     $(SRC)\misc.c $(HFILES)
428         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
430 unxfuncs.obj: $(SRC)\unxfuncs.c $(HFILES)
431         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
433 arxfuncs.obj: $(SRC)\arxfuncs.c $(HFILES)
434         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
436 os2funcs.obj: $(SRC)\os2funcs.c $(HFILES)
437         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
439 cmsfuncs.obj: $(SRC)\cmsfuncs.c $(HFILES)
440         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
442 shell.obj:    $(SRC)\shell.c $(HFILES)
443         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
445 rexxext.obj:  $(SRC)\rexxext.c $(HFILES)
446         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
448 stack.obj:    $(SRC)\stack.c $(HFILES)
449         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
451 tracing.obj:  $(SRC)\tracing.c $(HFILES)
452         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
454 interp.obj:   $(SRC)\interp.c $(HFILES)
455         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
457 cmath.obj:    $(SRC)\cmath.c $(HFILES)
458         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
460 convert.obj:  $(SRC)\convert.c $(HFILES)
461         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
463 strings.obj:  $(SRC)\strings.c $(HFILES)
464         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
466 library.obj:  $(SRC)\library.c $(HFILES)
467         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
469 strmath.obj:  $(SRC)\strmath.c $(HFILES)
470         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
472 signals.obj:  $(SRC)\signals.c $(HFILES)
473         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
475 macros.obj:   $(SRC)\macros.c $(HFILES)
476         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
478 envir.obj:    $(SRC)\envir.c $(HFILES)
479         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
481 expr.obj:     $(SRC)\expr.c $(HFILES)
482         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
484 wrappers.obj: $(SRC)\wrappers.c $(HFILES)
485         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
487 options.obj:  $(SRC)\options.c $(HFILES)
488         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
490 os_win.obj:   $(SRC)\os_win.c $(HFILES)
491         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
493 os_other.obj:   $(SRC)\os_other.c $(HFILES)
494         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
496 instore.obj:  $(SRC)\instore.c $(HFILES)
497         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
499 extstack.obj:  $(SRC)\extstack.c $(HFILES)
500         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
502 rexxbif.obj:  $(SRC)\rexxbif.c $(HFILES)
503         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
505 eextstack.obj:  $(SRC)\extstack.c $(HFILES)
506         $(CC) -DEXTERNAL_TO_REGINA $(CCFLAGS) /fo=$@ $(SRC)\extstack.c
508 erexxbif.obj:  $(SRC)\rexxbif.c $(HFILES)
509         $(CC) -DEXTERNAL_TO_REGINA $(CCFLAGS) /fo=$@ $(SRC)\rexxbif.c
511 rxstack.obj:  $(SRC)\rxstack.c $(HFILES)
512         $(CC) -DEXTERNAL_TO_REGINA $(CCFLAGS) /fo=$@ $(SRC)\$*.c
514 rxqueue.obj:  $(SRC)\rxqueue.c $(HFILES)
515         $(CC) -DEXTERNAL_TO_REGINA $(CCFLAGS) /fo=$@ $(SRC)\$*.c
517 nosaa.obj:    $(SRC)\nosaa.c $(HFILES)
518         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
520 mt_win32.obj: $(SRC)\mt_win32.c $(HFILES)
521         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
523 mt_notmt.obj: $(SRC)\mt_notmt.c $(HFILES)
524         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
526 rexx.obj:   $(SRC)\rexx.c $(HFILES)
527         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
529 lexsrc.obj : $(SRC)\lexsrc.c $(SRC)\yaccsrc.h $(SRC)\rexx.h
530         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
532 #lexsrc.c : lexsrc.l
533 #       $(LEX) lexsrc.l
534 #       $(MV) lex.yy.c lexsrc.c
536 yaccsrc.obj: $(SRC)\yaccsrc.c $(SRC)\defs.h $(SRC)\rexx.h
537         $(CC) $(CCFLAGS) /DYYMAXDEPTH=10000 /fo=$@ $(SRC)\$*.c
539 #yaccsrc.c yaccsrc.h : yaccsrc.y
540 #       $(YACC) -dv yaccsrc.y
541 #       $(MV) y.tab.h yaccsrc.h
542 #       $(MV) y.tab.c yaccsrc.c
544 drexx.obj: $(SRC)\rexx.c $(HFILES)
545         $(CC) $(CCFLAGS) /fo=drexx.obj -DRXLIB $(SRC)\rexx.c
547 client.obj: $(SRC)\client.c $(HFILES) $(SRC)\rexxsaa.h $(SRC)\rxiface.h
548         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
550 rexxsaa.obj: $(SRC)\rexxsaa.c $(HFILES) $(SRC)\rexxsaa.h $(SRC)\rxiface.h
551         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
554 # rules for DLL objects
556 funcs.dlo:    $(SRC)\funcs.c $(HFILES)
557         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
559 builtin.dlo:  $(SRC)\builtin.c $(HFILES)
560         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
562 error.dlo:    $(SRC)\error.c $(HFILES)
563         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
565 variable.dlo: $(SRC)\variable.c $(HFILES)
566         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
568 interprt.dlo: $(SRC)\interprt.c $(HFILES)
569         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
571 debug.dlo:    $(SRC)\debug.c $(HFILES)
572         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
574 dbgfuncs.dlo: $(SRC)\dbgfuncs.c $(HFILES)
575         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
577 memory.dlo:   $(SRC)\memory.c $(HFILES)
578         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
580 parsing.dlo:  $(SRC)\parsing.c $(HFILES)
581         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
583 files.dlo:    $(SRC)\files.c $(HFILES)
584         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
586 misc.dlo:     $(SRC)\misc.c $(HFILES)
587         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
589 unxfuncs.dlo: $(SRC)\unxfuncs.c $(HFILES)
590         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
592 arxfuncs.dlo: $(SRC)\arxfuncs.c $(HFILES)
593         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
595 os2funcs.dlo: $(SRC)\os2funcs.c $(HFILES)
596         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
598 cmsfuncs.dlo: $(SRC)\cmsfuncs.c $(HFILES)
599         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
601 shell.dlo:    $(SRC)\shell.c $(HFILES)
602         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
604 rexxext.dlo:  $(SRC)\rexxext.c $(HFILES)
605         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
607 stack.dlo:    $(SRC)\stack.c $(HFILES)
608         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
610 extstack.dlo:  $(SRC)\extstack.c $(HFILES)
611         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$@ $(SRC)\extstack.c
613 tracing.dlo:  $(SRC)\tracing.c $(HFILES)
614         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
616 interp.dlo:   $(SRC)\interp.c $(HFILES)
617         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
619 cmath.dlo:    $(SRC)\cmath.c $(HFILES)
620         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
622 convert.dlo:  $(SRC)\convert.c $(HFILES)
623         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
625 strings.dlo:  $(SRC)\strings.c $(HFILES)
626         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
628 library.dlo:  $(SRC)\library.c $(HFILES)
629         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
631 strmath.dlo:  $(SRC)\strmath.c $(HFILES)
632         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
634 signals.dlo:  $(SRC)\signals.c $(HFILES)
635         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
637 macros.dlo:   $(SRC)\macros.c $(HFILES)
638         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
640 envir.dlo:    $(SRC)\envir.c $(HFILES)
641         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
643 expr.dlo:     $(SRC)\expr.c $(HFILES)
644         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
646 wrappers.dlo: $(SRC)\wrappers.c $(HFILES)
647         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
649 options.dlo:  $(SRC)\options.c $(HFILES)
650         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
652 os_win.dlo:   $(SRC)\os_win.c $(HFILES)
653         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
655 os_other.dlo:   $(SRC)\os_other.c $(HFILES)
656         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
658 instore.dlo:  $(SRC)\instore.c $(HFILES)
659         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
661 rexxbif.dlo:  $(SRC)\rexxbif.c $(HFILES)
662         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
664 exstack.obj:  $(SRC)\exstack.c $(HFILES)
665         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
667 nosaa.dlo:    $(SRC)\nosaa.c $(HFILES)
668         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
670 mt_win32.dlo: $(SRC)\mt_win32.c $(HFILES)
671         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
673 mt_notmt.dlo: $(SRC)\mt_notmt.c $(HFILES)
674         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
676 rexx.dlo:   $(SRC)\rexx.c $(HFILES)
677         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
679 lexsrc.dlo : $(SRC)\lexsrc.c $(SRC)\yaccsrc.h $(SRC)\rexx.h
680         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
682 #lexsrc.c : lexsrc.l
683 #       $(LEX) lexsrc.l
684 #       $(MV) lex.yy.c lexsrc.c
686 yaccsrc.dlo: $(SRC)\yaccsrc.c $(SRC)\defs.h $(SRC)\rexx.h
687         $(CC) $(CCFLAGS) /DYYMAXDEPTH=10000 $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
689 #yaccsrc.c yaccsrc.h : yaccsrc.y
690 #       $(YACC) -dv yaccsrc.y
691 #       $(MV) y.tab.h yaccsrc.h
692 #       $(MV) y.tab.c yaccsrc.c
694 drexx.dlo: $(SRC)\rexx.c $(HFILES)
695         $(CC) $(CCFLAGS) /fo=drexx.dlo -DRXLIB $(SRC)\rexx.c
697 client.dlo: $(SRC)\client.c $(HFILES) $(SRC)\rexxsaa.h $(SRC)\rxiface.h
698         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
700 rexxsaa.dlo: $(SRC)\rexxsaa.c $(HFILES) $(SRC)\rexxsaa.h $(SRC)\rxiface.h
701         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
704 test1.dlo:   $(SRC)\test1.c $(HFILES)
705         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
707 test2.dlo:   $(SRC)\test2.c $(HFILES)
708         $(CC) $(CCFLAGS) $(DYN_COMP) /fo=$*.dlo $(SRC)\$*.c
710 regina.obj:   $(SRC)\regina.c $(HFILES)
711         $(CC) $(CCFLAGS) /fo=$*.obj $(SRC)\$*.c
713 rexxa.obj:   $(SRC)\regina.c $(HFILES)
714         $(CC) $(CCFLAGS) /fo=$*.obj $(SRC)\regina.c
716 execiser.obj:   $(SRC)\execiser.c $(HFILES)
717         $(CC) $(CCFLAGS) /fo=$*.obj $(SRC)\$*.c
719 threader.obj:   $(SRC)\threader.c $(HFILES)
720         $(CC) $(CCFLAGS) -DWIN32_THREADS /fo=$*.obj $(SRC)\$*.c
723 # Convert .mts to .mtb
725 mtb_files: msgcmp.exe $(MTSSRC) .SYMBOLIC
726         msgcmp $(MTSSRC)
728 msgcmp.exe : msgcmp.obj
729         @%create dummy.lnk
730         @%append dummy.lnk option quiet
731         @%append dummy.lnk option stack=0x10000000
732         @%append dummy.lnk option heapsize=40960
733         @%append dummy.lnk system $(TARGET)
734         @%append dummy.lnk name msgcmp.exe
735         @%append dummy.lnk file msgcmp.obj
736         $(LINK) $(LDFLAGS) @dummy.lnk
737         del dummy.lnk
739 msgcmp.obj: $(SRC)\msgcmp.c
740         $(CC) $(CCFLAGS) /fo=$@ $(SRC)\$*.c
742 zip:
743         zip rexxw32 README README.W32 rexx.exe regina.exe
744         zip rexxw32 rexx.dll $(DLLTEST1) $(DLLTEST2)
745         zip rexxw32 rexx.lib regina.lib
746         zip rexxw32 dynfunc.rex dateconv.rex timeconv.rex
747         zip rexxw32 newstr.rex rexxcps.rex
749 # DO NOT DELETE THIS LINE -- make depend depends on it.