2 # Makefile for Regina REXX Interpreter
\r
3 # FIXME, FGC: How set set "unsigned char" as default char type?
\r
4 # FIXME: MH: How to pass env variable to lcc make?
\r
5 # FIXME: MH: How to "include" regina.ver in this makefile?
\r
6 # FIXME: MH: Add GCI support
\r
8 # Using lcc-win32 compiler under Win32
\r
10 # make -f [DEBUG=Y [TRACEMEM=Y]] [FLISTS=N] [SOCKET=nnnn]
\r
12 # generated files without giving a target on the command line:
\r
13 # rexx.exe statically bounded REXX interpreter
\r
14 # rexx.lib static link library of the REXX interpreter, place anywhere
\r
15 # in a directory of your LIB-variable.
\r
16 # regina.lib link file for regina.dll, place anywhere in a directory of
\r
17 # your LIB-variable.
\r
18 # regina.dll dynamic link library of the REXX interpreter, place anywhere
\r
19 # in a directory of your PATH.
\r
20 # regina.exe dynamically bound REXX interpreter
\r
22 # rxstack.exe daemon process that provides external queues
\r
24 # rxqueue.exe program to access external queues
\r
26 SRCDIR=$(REGINA_SRCDIR)
\r
28 # USER CONFIGURABLE VARIABLES
\r
30 # Please specify the current directory of the sources:
\r
33 COMMONSRCDIR=$(SRCDIR)\common
\r
35 #include $(SRCDIR)\regina.ver
\r
36 #VERDOT = $(VER_DOT)
\r
37 #VERDATE = $(VER_DATE)
\r
43 VERDATE="15 Feb 2006"
\r
50 DEBUGFLAG = -DNDEBUG
\r
55 DYN_COMP = -DDYNAMIC
\r
57 LIBS = advapi32.lib user32.lib #libc.lib
\r
58 WINSOCK = wsock32.lib
\r
59 SERVICELIBS = libc.lib kernel32.lib advapi32.lib shell32.lib
\r
60 # seems that lcc can't create thread-safe DLLs ???
\r
61 SHL_TARGETS= regina.exe rxtest1.dll rxtest2.dll
\r
63 LIBFLAGS = /out:rexx.lib
\r
64 LIBLINK = regina.lib
\r
65 LINKSHL = regina.lib
\r
66 LD_RXLIBPRE=$(LD) -DLL -o $@
\r
67 LD_RXLIB1= test1_lcc_dll.def
\r
68 LD_RXLIB2= test2_lcc_dll.def
\r
71 CEXTRA = -DWIN32 $(REXXSOCKET) -DREGINA_VERSION_DATE=\"$(VERDATE)\" -DREGINA_VERSION_MAJOR=\"$(VER_MAJOR)\" -DREGINA_VERSION_MINOR=\"$(VER_MINOR)\" -DREGINA_VERSION_SUPP=\"$(VER_SUPP)\"
\r
75 # Include the common rules for the interpreter
\r
79 # Some settings that you may wish to change, these are used only
\r
80 # for the 'install' target:
\r
82 # TOPDIR The top of the directory hierarchy in which to install
\r
83 # BINDIR Where to install the compiled 'rexx' program
\r
84 # LIBDIR Where to install the 'regina' library
\r
85 # MANEXT The extention of the manual page
\r
86 # MANDIR Where to install the manual page
\r
87 # PROGNAME What to call the compiled program
\r
89 BINDIR = $(TOPDIR)\bin
\r
90 LIBDIR = $(TOPDIR)\lib
\r
92 COPT = $(OPTIMIZE) $(DEBUGFLAG) $(CEXTRA) -I$(SRCDIR) $(MEMTRACE) $(NOFLISTS)
\r
93 LINKOPT = $(EEXTRA) -version $(VERDOT)
\r
94 OTHERCOPT = $(OPTIMIZE) $(DEBUGFLAG) $(CEXTRA) -I$(SRCDIR) $(MEMTRACE) $(NOFLISTS)
\r
96 README = $(SRCDIR)/README.??? $(SRCDIR)/COPYING-LIB $(SRCDIR)/BUGS $(SRCDIR)/yaccsrc.bound
\r
98 CSRCFILES = $(SRCDIR)\funcs.c $(SRCDIR)\builtin.c $(SRCDIR)\error.c $(SRCDIR)\variable.c \
\r
99 $(SRCDIR)\interprt.c $(SRCDIR)\debug.c $(SRCDIR)\dbgfuncs.c $(SRCDIR)\memory.c $(SRCDIR)\parsing.c $(SRCDIR)\files.c \
\r
100 $(SRCDIR)\misc.c $(SRCDIR)\unxfuncs.c $(SRCDIR)\arxfuncs.c $(SRCDIR)\cmsfuncs.c $(SRCDIR)\os2funcs.c $(SRCDIR)\shell.c $(SRCDIR)\rexxext.c $(SRCDIR)\stack.c \
\r
101 $(SRCDIR)\tracing.c $(SRCDIR)\interp.c $(SRCDIR)\cmath.c $(SRCDIR)\convert.c $(SRCDIR)\strings.c $(SRCDIR)\library.c \
\r
102 $(SRCDIR)\strmath.c $(SRCDIR)\signals.c $(SRCDIR)\macros.c $(SRCDIR)\envir.c $(SRCDIR)\expr.c $(SRCDIR)\rexxbif.c \
\r
103 $(SRCDIR)\wrappers.c $(SRCDIR)\options.c $(SRCDIR)\os_win.c $(SRCDIR)\extstack.c \
\r
104 $(SRCDIR)\mt_notmt.c $(SRCDIR)\mt_win32.c $(SRCDIR)\mt_posix.c $(SRCDIR)\nosaa.c \
\r
105 $(SRCDIR)\ntservice\service.c $(SRCDIR)\os_other.c
\r
107 OFILES = funcs.obj builtin.obj error.obj variable.obj \
\r
108 interprt.obj debug.obj dbgfuncs.obj memory.obj parsing.obj files.obj \
\r
109 misc.obj unxfuncs.obj arxfuncs.obj cmsfuncs.obj os2funcs.obj shell.obj rexxext.obj stack.obj extstack.obj \
\r
110 tracing.obj interp.obj cmath.obj convert.obj strings.obj library.obj \
\r
111 strmath.obj signals.obj macros.obj envir.obj expr.obj instore.obj rexxbif.obj \
\r
112 yaccsrc.obj lexsrc.obj options.obj os_win.obj wrappers.obj mt_notmt.obj os_other.obj
\r
114 SHOFILES = funcs.sho.obj builtin.sho.obj error.sho.obj variable.sho.obj extstack.sho.obj rexxbif.sho.obj \
\r
115 interprt.sho.obj debug.sho.obj dbgfuncs.sho.obj memory.sho.obj parsing.sho.obj files.sho.obj \
\r
116 misc.sho.obj unxfuncs.sho.obj arxfuncs.sho.obj cmsfuncs.sho.obj os2funcs.sho.obj shell.sho.obj rexxext.sho.obj stack.sho.obj \
\r
117 tracing.sho.obj interp.sho.obj cmath.sho.obj convert.sho.obj strings.sho.obj library.sho.obj \
\r
118 strmath.sho.obj signals.sho.obj macros.sho.obj envir.sho.obj expr.sho.obj instore.sho.obj \
\r
119 yaccsrc.sho.obj lexsrc.sho.obj wrappers.sho.obj options.sho.obj os_win.sho.obj \
\r
120 rexx.sho.obj client.sho.obj rexxsaa.sho.obj mt_notmt.sho.obj os_other.sho.obj
\r
123 DEMODIR = $(SRCDIR)\demo
\r
124 DEMOFILES = $(DEMODIR)\*
\r
125 TRIPDIR = $(SRCDIR)\trip
\r
126 TRIPFILES = $(TRIPDIR)\*
\r
127 UNIXFILES = $(SRCDIR)\*.in $(SRCDIR)\configure $(SRCDIR)\config.sub \
\r
128 $(SRCDIR)\config.guess $(SRCDIR)\aclocal.m4 $(SRCDIR)\install-sh \
\r
129 $(SRCDIR)\INSTALL $(SRCDIR)\yaccsrc.y $(SRCDIR)\lexsrc.l
\r
131 ALLSRC = $(CFILES) $(HFILES)
\r
133 HFILES = $(SRCDIR)\rexx.h $(SRCDIR)\defs.h $(SRCDIR)\extern.h $(SRCDIR)\regina_t.h \
\r
134 $(SRCDIR)\config.h $(SRCDIR)\strings.h $(SRCDIR)\configur.h $(SRCDIR)\yaccsrc.h \
\r
135 $(SRCDIR)\rxiface.h $(SRCDIR)\rexxsaa.h $(SRCDIR)\utsname.h \
\r
136 $(SRCDIR)\mt.h $(SRCDIR)\mt_notmt.h $(SRCDIR)\mt_win32.h $(SRCDIR)\mt_posix.h \
\r
137 $(SRCDIR)\ntservice\service.h
\r
138 CFILES = $(SRCDIR)\yaccsrc.c $(SRCDIR)\lexsrc.c $(CSRCFILES) $(SRCDIR)\execiser.c \
\r
139 $(SRCDIR)\rexxsaa.c $(SRCDIR)\rexx.c $(SRCDIR)\regina.c $(SRCDIR)\client.c \
\r
140 $(SRCDIR)\r2perl.c $(SRCDIR)\test1.c $(SRCDIR)\test2.c
\r
142 MTSSRC = $(SRCDIR)\en.mts $(SRCDIR)\pt.mts $(SRCDIR)\no.mts \
\r
143 $(SRCDIR)\de.mts $(SRCDIR)\es.mts $(SRCDIR)\pl.mts \
\r
144 $(SRCDIR)\tr.mts $(SRCDIR)\sv.mts
\r
146 #.SUFFIXES: .sho $(SUFFIXES)
\r
148 # Do not use default suffixes rule
\r
152 all : rexx.exe rexx.lib execiser.exe $(SHL_TARGETS) rxstack.exe rxqueue.exe mtb_files #threader.exe
\r
154 $(CSRCFILES) : $(SRCDIR)/rexx.h
\r
156 $(SRCDIR)/rexx.h : $(SRCDIR)/extern.h $(SRCDIR)/strings.h $(SRCDIR)/defs.h $(SRCDIR)/regina_t.h $(SRCDIR)/mt.h
\r
158 rexx.exe : $(OFILES) rexx.obj rexxw32exe.res nosaa.obj
\r
159 $(LD) $(LINKOPT) $(STATIC_LDFLAGS) -o rexx.exe $(OFILES) rexx.obj rexxw32exe.res nosaa.obj $(LIBS) $(WINSOCK)
\r
161 regina.exe : regina.dll regina.obj reginaw32exe.res
\r
162 $(LD) $(LINKOPT) $(DYNAMIC_LDFLAGS) -o regina.exe regina.obj reginaw32exe.res $(LINKSHL) $(LIBS) $(WINSOCK)
\r
164 execiser.exe : execiser.obj regina.dll
\r
165 $(LD) $(LINKOPT) -o execiser.exe execiser.obj $(LIBLINK)
\r
167 rxqueue.exe : rxqueue.obj erexxbif.obj eextstack.obj rxqueuew32exe.res
\r
168 $(LD) $(LINKOPT) -o rxqueue.exe rxqueue.obj erexxbif.obj eextstack.obj rxqueuew32exe.res $(WINSOCK)
\r
170 rxstack.exe : rxstack.obj erexxbif_mt.obj eextstack_mt.obj service.obj rxstackw32exe.res
\r
171 $(LD) $(LINKOPT) -o rxstack.exe rxstack.obj erexxbif_mt.obj eextstack_mt.obj service.obj rxstackw32exe.res $(WINSOCK) $(SERVICELIBS)
\r
173 threader.exe : threader.obj regina.dll
\r
174 $(LD) $(LINKOPT) -o threader.exe threader.obj $(LIBLINK)
\r
176 rexx.lib: $(OFILES) client.obj drexx.obj rexxsaa.obj
\r
177 lcclib $(LIBFLAGS) $(OFILES) client.obj drexx.obj rexxsaa.obj
\r
179 regina.dll: $(SHOFILES) reginaw32dll.res regina_lcc_dll.def
\r
180 $(LD) $(LINKOPT) -nounderscores -DLL -o regina.dll regina_lcc_dll.def reginaw32dll.res *.sho.obj $(LIBS) $(WINSOCK)
\r
182 regina_lcc_dll.def: $(SRCDIR)\regina_w32_dll.def rexx.exe
\r
183 rexx $(SRCDIR)\vcdef2lccdef.rexx $(SRCDIR)\regina_w32_dll.def regina_lcc_dll.def
\r
186 # Convert .mts to .mtb
\r
188 mtb_files: msgcmp.exe $(MTSSRC)
\r
191 msgcmp.exe: msgcmp.obj
\r
192 $(LD) $(LINKOPT) -o msgcmp.exe msgcmp.obj
\r
194 msgcmp.obj: $(SRCDIR)/msgcmp.c
\r
195 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/msgcmp.c
\r
198 # Rules for static objects
\r
200 funcs.obj : $(SRCDIR)/funcs.c
\r
201 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/funcs.c
\r
203 builtin.obj : $(SRCDIR)/builtin.c
\r
204 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/builtin.c
\r
206 error.obj : $(SRCDIR)/error.c
\r
207 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/error.c
\r
209 variable.obj :$(SRCDIR)/variable.c
\r
210 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/variable.c
\r
212 interprt.obj :$(SRCDIR)/interprt.c
\r
213 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/interprt.c
\r
215 debug.obj : $(SRCDIR)/debug.c
\r
216 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/debug.c
\r
218 dbgfuncs.obj :$(SRCDIR)/dbgfuncs.c
\r
219 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/dbgfuncs.c
\r
221 memory.obj : $(SRCDIR)/memory.c
\r
222 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/memory.c
\r
224 parsing.obj : $(SRCDIR)/parsing.c
\r
225 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/parsing.c
\r
227 files.obj : $(SRCDIR)/files.c
\r
228 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/files.c
\r
230 misc.obj : $(SRCDIR)/misc.c
\r
231 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/misc.c
\r
233 unxfuncs.obj :$(SRCDIR)/unxfuncs.c
\r
234 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/unxfuncs.c
\r
236 arxfuncs.obj :$(SRCDIR)/arxfuncs.c
\r
237 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/arxfuncs.c
\r
239 os2funcs.obj :$(SRCDIR)/os2funcs.c
\r
240 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/os2funcs.c
\r
242 cmsfuncs.obj :$(SRCDIR)/cmsfuncs.c
\r
243 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/cmsfuncs.c
\r
245 shell.obj : $(SRCDIR)/shell.c
\r
246 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/shell.c
\r
248 rexxext.obj : $(SRCDIR)/rexxext.c
\r
249 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxext.c
\r
251 stack.obj : $(SRCDIR)/stack.c
\r
252 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/stack.c
\r
254 tracing.obj : $(SRCDIR)/tracing.c
\r
255 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/tracing.c
\r
257 interp.obj : $(SRCDIR)/interp.c
\r
258 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/interp.c
\r
260 cmath.obj : $(SRCDIR)/cmath.c
\r
261 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/cmath.c
\r
263 convert.obj : $(SRCDIR)/convert.c
\r
264 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/convert.c
\r
266 strings.obj : $(SRCDIR)/strings.c
\r
267 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/strings.c
\r
269 library.obj : $(SRCDIR)/library.c
\r
270 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/library.c
\r
272 strmath.obj : $(SRCDIR)/strmath.c
\r
273 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/strmath.c
\r
275 signals.obj : $(SRCDIR)/signals.c
\r
276 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/signals.c
\r
278 macros.obj : $(SRCDIR)/macros.c
\r
279 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/macros.c
\r
281 envir.obj : $(SRCDIR)/envir.c
\r
282 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/envir.c
\r
284 expr.obj : $(SRCDIR)/expr.c
\r
285 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/expr.c
\r
287 wrappers.obj :$(SRCDIR)/wrappers.c
\r
288 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/wrappers.c
\r
290 options.obj : $(SRCDIR)/options.c
\r
291 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/options.c
\r
293 os_win.obj : $(SRCDIR)/os_win.c
\r
294 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/os_win.c
\r
296 os_other.obj : $(SRCDIR)/os_other.c
\r
297 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/os_other.c
\r
299 rexx.obj : $(SRCDIR)/rexx.c
\r
300 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexx.c
\r
302 client.obj : $(SRCDIR)/client.c
\r
303 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/client.c
\r
305 rexxsaa.obj : $(SRCDIR)/rexxsaa.c $(SRCDIR)\rexxsaa.h
\r
306 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxsaa.c
\r
308 regina.obj : $(SRCDIR)/regina.c
\r
309 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/regina.c
\r
311 drexx.obj : $(SRCDIR)/rexx.c
\r
312 $(CC) $(COPT) -c -DRXLIB $(CC2O) $(SRCDIR)/rexx.c
\r
314 mt_notmt.obj : $(SRCDIR)/mt_notmt.c
\r
315 $(CC) $(COPT) -c $(CC2O) $(SRCDIR)/mt_notmt.c
\r
317 mt_win32.obj : $(SRCDIR)/mt_win32.c
\r
318 $(CC) $(COPT) -c $(CC2O) $(SRCDIR)/mt_win32.c
\r
320 nosaa.obj : $(SRCDIR)/nosaa.c
\r
321 $(CC) $(COPT) -c $(CC2O) $(SRCDIR)/nosaa.c
\r
323 instore.obj : $(SRCDIR)/instore.c
\r
324 $(CC) $(COPT) -c $(CC2O) $(SRCDIR)/instore.c
\r
326 lexsrc.obj : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h $(SRCDIR)/yaccsrc.h
\r
327 $(CC) $(OTHERCOPT) $(CC2O) -c $(SRCDIR)/lexsrc.c
\r
329 yaccsrc.obj : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
\r
330 $(CC) $(OTHERCOPT) $(CC2O) -c -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
\r
332 extstack.obj : $(SRCDIR)/extstack.c $(SRCDIR)/rexx.h
\r
333 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/extstack.c
\r
335 execiser.obj : $(SRCDIR)/execiser.c $(SRCDIR)/rexx.h
\r
336 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/execiser.c
\r
338 rxqueue.obj : $(SRCDIR)/rxqueue.c $(SRCDIR)/rexx.h
\r
339 $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) -c $(SRCDIR)/rxqueue.c
\r
341 rxstack.obj : $(SRCDIR)/rxstack.c $(SRCDIR)/rexx.h $(SRCDIR)/ntservice/service.h
\r
342 $(CC) -DEXTERNAL_TO_REGINA -DBUILD_NT_SERVICE -I$(SRCDIR) -I$(SRCDIR)/ntservice $(TSCOPT) $(CC2O) -c $(SRCDIR)/rxstack.c
\r
344 service.obj : $(SRCDIR)/ntservice/service.c $(SRCDIR)/ntservice/service.h
\r
345 $(CC) -I$(SRCDIR)/ntservice $(TSCOPT) $(CC2O) -c $(SRCDIR)/ntservice/service.c
\r
347 rexxbif.obj : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
\r
348 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxbif.c
\r
350 rexxbif_mt.obj : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
\r
351 $(CC) $(COPT) $(CC2O) -c $(SRCDIR)/rexxbif.c
\r
353 erexxbif.obj : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
\r
354 $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) -c $(SRCDIR)/rexxbif.c
\r
356 erexxbif_mt.obj : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexxbif.h
\r
357 $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) -c $(SRCDIR)/rexxbif.c
\r
359 eextstack.obj : $(SRCDIR)/extstack.c $(SRCDIR)/rexx.h
\r
360 $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) -c $(SRCDIR)/extstack.c
\r
362 eextstack_mt.obj : $(SRCDIR)/extstack.c $(SRCDIR)/rexx.h
\r
363 $(CC) -DEXTERNAL_TO_REGINA $(COPT) $(CC2O) -c $(SRCDIR)/extstack.c
\r
366 # Rules for shared objects
\r
368 funcs.sho.obj : $(SRCDIR)/funcs.c
\r
369 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/funcs.c
\r
371 builtin.sho.obj : $(SRCDIR)/builtin.c
\r
372 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/builtin.c
\r
374 error.sho.obj : $(SRCDIR)/error.c
\r
375 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/error.c
\r
377 variable.sho.obj :$(SRCDIR)/variable.c
\r
378 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/variable.c
\r
380 interprt.sho.obj :$(SRCDIR)/interprt.c
\r
381 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interprt.c
\r
383 debug.sho.obj : $(SRCDIR)/debug.c
\r
384 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/debug.c
\r
386 dbgfuncs.sho.obj :$(SRCDIR)/dbgfuncs.c
\r
387 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/dbgfuncs.c
\r
389 memory.sho.obj : $(SRCDIR)/memory.c
\r
390 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/memory.c
\r
392 parsing.sho.obj : $(SRCDIR)/parsing.c
\r
393 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/parsing.c
\r
395 files.sho.obj : $(SRCDIR)/files.c
\r
396 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/files.c
\r
398 misc.sho.obj : $(SRCDIR)/misc.c
\r
399 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/misc.c
\r
401 unxfuncs.sho.obj :$(SRCDIR)/unxfuncs.c
\r
402 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/unxfuncs.c
\r
404 arxfuncs.sho.obj :$(SRCDIR)/arxfuncs.c
\r
405 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/arxfuncs.c
\r
407 os2funcs.sho.obj :$(SRCDIR)/os2funcs.c
\r
408 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os2funcs.c
\r
410 cmsfuncs.sho.obj :$(SRCDIR)/cmsfuncs.c
\r
411 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmsfuncs.c
\r
413 shell.sho.obj : $(SRCDIR)/shell.c
\r
414 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/shell.c
\r
416 rexxext.sho.obj : $(SRCDIR)/rexxext.c
\r
417 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxext.c
\r
419 stack.sho.obj : $(SRCDIR)/stack.c
\r
420 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/stack.c
\r
422 tracing.sho.obj : $(SRCDIR)/tracing.c
\r
423 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/tracing.c
\r
425 interp.sho.obj : $(SRCDIR)/interp.c
\r
426 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/interp.c
\r
428 cmath.sho.obj : $(SRCDIR)/cmath.c
\r
429 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/cmath.c
\r
431 convert.sho.obj : $(SRCDIR)/convert.c
\r
432 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/convert.c
\r
434 strings.sho.obj : $(SRCDIR)/strings.c
\r
435 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strings.c
\r
437 library.sho.obj : $(SRCDIR)/library.c
\r
438 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/library.c
\r
440 strmath.sho.obj : $(SRCDIR)/strmath.c
\r
441 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/strmath.c
\r
443 signals.sho.obj : $(SRCDIR)/signals.c
\r
444 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/signals.c
\r
446 macros.sho.obj : $(SRCDIR)/macros.c
\r
447 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/macros.c
\r
449 envir.sho.obj : $(SRCDIR)/envir.c
\r
450 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/envir.c
\r
452 expr.sho.obj : $(SRCDIR)/expr.c
\r
453 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/expr.c
\r
455 wrappers.sho.obj :$(SRCDIR)/wrappers.c
\r
456 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/wrappers.c
\r
458 options.sho.obj : $(SRCDIR)/options.c
\r
459 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/options.c
\r
461 os_win.sho.obj : $(SRCDIR)/os_win.c
\r
462 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os_win.c
\r
464 os_other.sho.obj : $(SRCDIR)/os_other.c
\r
465 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/os_other.c
\r
467 client.sho.obj : $(SRCDIR)/client.c
\r
468 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/client.c
\r
470 rexxsaa.sho.obj : $(SRCDIR)/rexxsaa.c $(SRCDIR)\rexxsaa.h
\r
471 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxsaa.c
\r
473 rexx.sho.obj : $(SRCDIR)/rexx.c
\r
474 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c -DRXLIB $(SRCDIR)/rexx.c
\r
476 instore.sho.obj : $(SRCDIR)/instore.c
\r
477 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/instore.c
\r
479 mt_notmt.sho.obj :$(SRCDIR)/mt_notmt.c
\r
480 $(CC) $(COPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/mt_notmt.c
\r
482 mt_win32.sho.obj : $(SRCDIR)/mt_win32.c
\r
483 $(CC) $(COPT) -c $(CC2O) $(DYN_COMP) $(SRCDIR)/mt_win32.c
\r
485 lexsrc.sho.obj : $(SRCDIR)/lexsrc.c $(SRCDIR)/rexx.h $(SRCDIR)/yaccsrc.h
\r
486 $(CC) $(OTHERCOPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/lexsrc.c
\r
488 yaccsrc.sho.obj : $(SRCDIR)/yaccsrc.c $(SRCDIR)/defs.h $(SRCDIR)/rexx.h
\r
489 $(CC) $(OTHERCOPT) $(CC2O) $(DYN_COMP) -c -DYYMAXDEPTH=10000 $(SRCDIR)/yaccsrc.c
\r
491 extstack.sho.obj : $(SRCDIR)/extstack.c $(SRCDIR)/rexx.h
\r
492 $(CC) $(OTHERCOPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/extstack.c
\r
494 rexxbif.sho.obj : $(SRCDIR)/rexxbif.c $(SRCDIR)/rexx.h
\r
495 $(CC) $(OTHERCOPT) $(CC2O) $(DYN_COMP) -c $(SRCDIR)/rexxbif.c
\r
498 # Rules for sample programs
\r
500 test1.obj: $(SRCDIR)/test1.c
\r
501 $(CC) -c $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/test1.c
\r
503 rxtest1.dll: test1.obj regina.dll test1_lcc_dll.def
\r
504 $(LD_RXLIBPRE) -nounderscores $(LD_RXLIB1) test1.obj $(LINKSHL)
\r
506 test2.obj: $(SRCDIR)/test2.c
\r
507 $(CC) -c $(COPT) $(CC2O) $(DYN_COMP) $(SRCDIR)/test2.c
\r
509 rxtest2.dll: test2.obj regina.dll test2_lcc_dll.def
\r
510 $(LD_RXLIBPRE) -nounderscores $(LD_RXLIB2) test2.obj $(LINKSHL)
\r
512 test1_lcc_dll.def: $(SRCDIR)\test1_w32_dll.def rexx.exe
\r
513 rexx $(SRCDIR)\vcdef2lccdef.rexx $(SRCDIR)\test1_w32_dll.def test1_lcc_dll.def
\r
515 test2_lcc_dll.def: $(SRCDIR)\test2_w32_dll.def rexx.exe
\r
516 rexx $(SRCDIR)\vcdef2lccdef.rexx $(SRCDIR)\test2_w32_dll.def test2_lcc_dll.def
\r
519 # Rules for resource files and version details
\r
520 # We assume we have an already functional regina.exe
\r
522 reginaw32dll.rc: $(SRCDIR)\regina.ver $(SRCDIR)\reginaw32dll.rc
\r
523 regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\reginaw32dll.rc .\reginaw32dll.rc $(VERDOT) $(VERDATE)
\r
524 reginaw32exe.rc: $(SRCDIR)\regina.ver $(SRCDIR)\reginaw32exe.rc
\r
525 regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\reginaw32exe.rc .\reginaw32exe.rc $(VERDOT) $(VERDATE)
\r
526 rxstackw32exe.rc: $(SRCDIR)\regina.ver $(SRCDIR)\rxstackw32exe.rc
\r
527 regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\rxstackw32exe.rc .\rxstackw32exe.rc $(VERDOT) $(VERDATE)
\r
528 rxqueuew32exe.rc: $(SRCDIR)\regina.ver $(SRCDIR)\rxqueuew32exe.rc
\r
529 regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\rxqueuew32exe.rc .\rxqueuew32exe.rc $(VERDOT) $(VERDATE)
\r
530 rexxw32exe.rc: $(SRCDIR)\regina.ver $(SRCDIR)\rexxw32exe.rc
\r
531 regina $(COMMONSRCDIR)\fixrc.rexx $(SRCDIR)\rexxw32exe.rc .\rexxw32exe.rc $(VERDOT) $(VERDATE)
\r
534 # Rules for resources
\r
536 reginaw32dll.res: reginaw32dll.rc
\r
537 -copy $(SRCDIR)\reginaw32.ico .
\r
538 lrc /r /foreginaw32dll.res /i$(SRCDIR) .\reginaw32dll.rc
\r
540 reginaw32exe.res: reginaw32exe.rc
\r
541 -copy $(SRCDIR)\reginaw32.ico .
\r
542 lrc /r /foreginaw32exe.res /i$(SRCDIR)\ .\reginaw32exe.rc
\r
544 rexxw32exe.res: rexxw32exe.rc
\r
545 -copy $(SRCDIR)\reginaw32.ico .
\r
546 lrc /r /forexxw32exe.res /i$(SRCDIR)\ .\rexxw32exe.rc
\r
548 rxstackw32exe.res: rxstackw32exe.rc
\r
549 -copy $(SRCDIR)\reginaw32.ico .
\r
550 lrc /r /forxstackw32exe.res /i$(SRCDIR)\ .\rxstackw32exe.rc
\r
552 rxqueuew32exe.res: rxqueuew32exe.rc
\r
553 -copy $(SRCDIR)\reginaw32.ico .
\r
554 lrc /r /forxqueuew32exe.res /i$(SRCDIR)\ .\rxqueuew32exe.rc
\r
557 ARCHIVE_FILES = $(ALLSRC) $(README) $(SRCDIR)/makefile.* $(SRCDIR)/oldmakefiles/makefile* \
\r
558 $(SRCDIR)/oldmakefiles/README $(SRCDIR)/*.rsp $(DEMOFILES) $(TRIPFILES) \
\r
559 $(CONFFILES) $(SRCDIR)/*.def $(SRCDIR)/*.ico $(SRCDIR)/*.rc \
\r
560 $(SRCDIR)/file_id* $(SRCDIR)/*.bat $(SRCDIR)/*.cmd $(YACCLEX_FILES) \
\r
561 $(SRCDIR)/*.rexx $(UNIXFILES)
\r
564 zip regna$(VER) $(ARCHIVE_FILES)
\r
567 # Build NSIS package...
\r
570 copy $(SRCDIR)\regina_ss.ini .
\r
571 copy $(SRCDIR)\regina_fa.ini .
\r
572 makensis /DVERSION=$(VERDOT) /DNODOTVER=$(VER) ..\regina.nsi
\r