This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
-Mre=Debug,ALL: indicate regex state stack pushes
[perl5.git] / NetWare / Makefile
CommitLineData
2986a63f 1##
011f1a1a 2## Makefile to build Perl on NetWare using Microsoft NMAKE and CodeWarrior tools
2986a63f 3##
011f1a1a 4## This will build perl.nlm, perl.lib and extensions called NLMs
2986a63f
JH
5##
6
7##
8## Please read README.netware before starting
9##
10
11##
12## Build configuration. Edit the values below to suit your needs.
13##
14
15## This file is created by using the makefile that creates Windows Perl as the reference
011f1a1a 16## Author:
f355267c
JH
17## Date Created: 13th July 2000
18## Date Modified: 21st March 2002
2986a63f 19# Name of the NLM
011f1a1a
JH
20
21
2986a63f
JH
22NLM_NAME = perl.nlm
23NLM_NAME8 = Perl
24
25MAKE_ACTION = Build
26
27# Flags
28DBG_FLAG = -DDEBUGON
29
30NW_FLAGS = -DNETWARE -DNLM_PLATFORM -DNETDB_USE_INTERNET
31
32REL_DIR = Release
33DEB_DIR = Debug
34
011f1a1a 35
f355267c
JH
36!ifndef NLMSDKBASE
37!message "Run bat\SetNWBld.bat to set the NetWare SDK before continuing.\n"
38!error
39!endif # !ifndef NLMSDKBASE
40
41!ifndef CODEWAR # !ifdef CODEWAR
42!message "CodeWarrior tools base directory is not defined. Run bat\setnwbld.bat before proceeding"
43!error
44!endif # !ifdef CODEWAR
45
46!ifndef MAKE_TYPE
2986a63f
JH
47!message "Run bat\buildtype.bat to set the build type before continuing.\n"
48!error
f355267c 49!endif # !ifndef MAKE_TYPE
2986a63f
JH
50
51!ifdef USE_MPK
52MPKFLAGS = -DMPK_ON -DIAPX386
53MPKMESSAGE = MPK Build...
54XDCTOOL = mpkxdc
55!ifndef MPKBASE
f355267c
JH
56!message "Run bat\setmpksdk.bat to set the NetWare MPK SDK before continuing.\n"
57!error
58!endif # !ifndef MPKBASE
011f1a1a 59NLM_INCLUDE_MP = -I$(MPKBASE)\include
2986a63f 60MPKTOOL = $(MPKBASE)\$(XDCTOOL)
f355267c 61!else # !ifdef USE_MPK
2986a63f
JH
62MPKMESSAGE = Non MPK Build...
63NLM_INCLUDE_MP =
64MPKTOOL =
f355267c
JH
65!endif # !ifdef USE_MPK
66
67#!ifndef SECURITYBASE
68#!message "Run bat\SetSecSdk.bat to set the Security path before continuing.\n"
69#!error
70#!endif # !ifndef SECURITYBASE
71
72#!ifndef UCSINC
73#!message "Run bat\BldNWExt.bat to set the UCS Include path before continuing.\n"
74#!error
75#!endif # !ifndef UCSINC
76
77NLMIMPORTS = $(NLMSDKBASE)\imports
78
79!ifdef SECURITYBASE
80SECURITY_IMPORTS = $(SECURITYBASE)\imports
81!endif # !ifdef SECURITYBASE
011f1a1a
JH
82
83!ifndef NLM_VERSION
84NLM_VERSION = 3,20,0
85!endif
2986a63f 86
011f1a1a 87
f355267c 88# Here comes the CW tools - TO BE FILLED TO BUILD WITH CW -
3eaa1ae9 89MODULE_DESC = "Perl 5.25.10 for NetWare"
011f1a1a
JH
90CCTYPE = CodeWarrior
91C_COMPILER = mwccnlm -c
92CPP_COMPILER = mwccnlm
93LINK = mwldnlm
94LD = mwldnlm
95NLM_LIB = mwldnlm -type library
2986a63f
JH
96TOOL_HEADERS =
97TOOL_PATH =
011f1a1a
JH
98CWCPPFLAGS = -cpp_exceptions on -wchar_t off -bool on -w on -ansi off
99CCFLAGS = -maxerrors 25 -processor Pentium -align packed \
f355267c 100 -w nounusedarg -msext on \
011f1a1a
JH
101 -DN_PLAT_NLM -DNLM=1 -D__NO_MATH_OPS -msgstyle gcc
102COMPILER_FLAG = -d NETWARE
103ERROR_FLAG = -sym on -sym codeview4 -sym internal
104LDFLAGS = -type generic -stacksize 16384 -zerobss \
105 -nofail -msgstyle gcc -nostderr -w on \
106 -nlmversion $(NLM_VERSION) \
f355267c 107 -copy "Copyright (C) 2000-01\, 2002 Novell\, Inc. All Rights Reserved."
011f1a1a 108
2986a63f
JH
109# Debug flags comes here - Not mandatory - required only for debug build
110!if "$(MAKE_TYPE)"=="Debug"
111BLDDIR = $(DEB_DIR)
011f1a1a 112BLDMESG = Debug version,
2986a63f 113!ifdef USE_D2
011f1a1a 114BS_CFLAGS = -opt off -inline off -sym on -sym codeview4 -sym internal -DDEBUGGING -DDKFBPON
2986a63f 115BLDMESG = $(BLDMESG) Using /d2 option
f355267c 116!ifdef NLM_NAME8
cf267c36 117LDFLAGS = $(LDFLAGS) -sym on -sym codeview4 -sym internal -osym $(MAKE_TYPE)\$(NLM_NAME8).sym
f355267c 118!else # !ifdef NLM_NAME8
cf267c36 119LDFLAGS = $(LDFLAGS) -sym on -sym codeview4 -sym internal -osym $(MAKE_TYPE)\$(NLM_NAME).sym
f355267c
JH
120!endif # !ifdef NLM_NAME8
121!else # !ifdef USE_D2
011f1a1a 122BS_CFLAGS = -opt off -inline off -sym on -sym codeview4 -sym internal -DDEBUGGING -DDKFBPON
2986a63f 123BLDMESG = $(BLDMESG) Using /d1 option
f355267c 124!ifdef NLM_NAME8
cf267c36 125LDFLAGS = $(LDFLAGS) -sym on -sym codeview4 -sym internal -osym $(MAKE_TYPE)\$(NLM_NAME8).sym
f355267c 126!else # !ifdef NLM_NAME8
cf267c36 127LDFLAGS = $(LDFLAGS) -sym on -sym codeview4 -sym internal -osym $(MAKE_TYPE)\$(NLM_NAME).sym
f355267c
JH
128!endif # !ifdef NLM_NAME8
129!endif # !ifdef USE_D2
130!else # !if "$(MAKE_TYPE)"=="Debug"
2986a63f
JH
131BLDDIR = $(REL_DIR)
132BLDMESG = Release version
011f1a1a 133##BS_CFLAGS = -opt speed -inline smart -inline auto -sym off
2986a63f 134BS_CFLAGS =
f355267c
JH
135!endif # !if "$(MAKE_TYPE)"=="Debug"
136
2986a63f
JH
137
138ADD_LOCDEFS = -DPERL_CORE
139
140NLM_INCLUDE = -I$(NLMSDKBASE)\include
141NLM_INCLUDE_NLM = -I$(NLMSDKBASE)\include\nlm
142NLM_INCLUDE_NLM_SYS = -I$(NLMSDKBASE)\include\nlm\sys
011f1a1a 143NLM_INCLUDE_OBSLETE = -I$(NLMSDKBASE)\include\nlm\obsolete
f355267c
JH
144
145!ifdef SECURITYBASE
146SECURITY_INCLUDE = -I$(SECURITYBASE)\include
147!endif #!ifdef SECURITYBASE
148
149!ifdef UCSINC
011f1a1a 150NLM_INCLUDE_UCS = -I$(UCSINC)
f355267c
JH
151!endif #!ifndef UCSINC
152
011f1a1a 153!if "$(NW_EXTNS)"=="yes"
2986a63f 154INCLUDE_NW = -I.\include
011f1a1a 155!endif
f355267c
JH
156
157
2986a63f 158INC_PREV = -I..
011f1a1a 159INC_THIS = -I.
2986a63f 160
f355267c 161
011f1a1a 162NLM_INCLUDE_PATH = $(NLM_INCLUDE) $(NLM_INCLUDE_NLM) $(NLM_INCLUDE_NLM_SYS) $(NLM_INCLUDE_OBSLETE) \
f355267c
JH
163 $(NLM_INCLUDE_MP) $(TOOL_HEADERS)
164
165!ifdef SECURITYBASE
166NLM_INCLUDE_PATH = $(NLM_INCLUDE_PATH) $(SECURITY_INCLUDE)
167!endif #!ifdef SECURITYBASE
168
169!ifdef UCSINC
170NLM_INCLUDE_PATH = $(NLM_INCLUDE_PATH) $(NLM_INCLUDE_UCS)
171!endif #!ifndef UCSINC
172
011f1a1a 173INCLUDE = $(INC_THIS) $(INC_PREV) -I- $(NLM_INCLUDE_PATH)
2986a63f
JH
174
175PATH = $(PATH);$(TOOL_PATH)
176
011f1a1a
JH
177NLM_INCLUDES = -I$(COREDIR) $(INCLUDE_NW)
178
179CCFLAGS = $(CCFLAGS) $(INCLUDE)
2986a63f 180
011f1a1a
JH
181COMPLER_FLAGS = $(BS_CFLAGS) $(ADD_BUILDOPT) $(NW_FLAGS) $(COMPILER_FLAG) $(MPKFLAGS) $(CCFLAGS)
182
2986a63f
JH
183
184# Source file list
185NW_H_FILES = \
186 .\iperlhost.h \
187 .\interface.h \
188 .\netware.h \
189 .\nw5iop.h \
190 .\nw5sck.h \
191 .\nwpipe.h \
192 .\nwplglob.h \
193 .\nwtinfo.h \
194 .\nwutil.h \
011f1a1a 195 .\nwhashcls.h \
2986a63f
JH
196
197NW_HOST_H_FILES = \
198 .\iperlhost.h \
199 .\interface.h \
200 .\netware.h \
201 .\nw5sck.h \
011f1a1a
JH
202 .\nwperlhost.h \
203
2986a63f
JH
204
205CLIB_H_FILES = \
206 .\clibsdio.h \
207 .\clibstr.h \
208 .\clibstuf.h \
209 .\stdio.h \
210 .\string.h \
211
212NW_SRC = \
213 .\CLIBstuf.c \
f355267c 214 .\sv_nw.c \
2986a63f
JH
215 .\nw5.c \
216 .\nw5sck.c \
217 .\nw5thread.c \
218 .\nwmain.c \
219 .\nwpipe.c \
220 .\nwplglob.c \
221 .\nwtinfo.c \
222 .\nwutil.c \
223
011f1a1a
JH
224NW_CPP_SRC = \
225 .\nwhashcls.cpp \
226 .\interface.cpp \
227 .\perllib.cpp \
228
2986a63f
JH
229EXT_MAIN_SRC = \
230 .\Main.c \
231
232PERL_IO_SRC = \
233 ..\perlio.c
234
011f1a1a
JH
235CLIBSTUF_OBJ = \
236 .\CLIBstuf.obj
2986a63f 237
011f1a1a 238#PERL_TMP_OBJ = $(PERL_TEMP_SRC:.c=.obj)
2986a63f 239NW_SRC_OBJ = $(NW_SRC:.c=.obj)
011f1a1a 240NW_CPP_SRC_OBJ = $(NW_CPP_SRC:.cpp=.obj)
2986a63f
JH
241NLM_MICROCORE_OBJ = $(MICROCORE_SRC:.c=.obj)
242PERL_LIB_OBJ = $(PERL_LIB_SRC:.c=.obj)
243PERL_IO_OBJ = $(PERL_IO_SRC:.c=.obj)
244NLM_CORE_OBJ = $(NLM_MICROCORE_OBJ)
245EXT_MAIN_OBJ = $(EXT_MAIN_SRC:.c=.obj)
246
247# For dependency checking
248# $(BLDDIR) in place of Release or Debug is not working, should look into this - sgp
011f1a1a 249!if "$(BLDDIR)"=="Release"
2986a63f
JH
250NLM_OBJ = $(NLM_CORE_OBJ:..\=.\Release\)
251NEWTARE_OBJ_DEP = $(NW_SRC_OBJ:.\=.\Release\)
011f1a1a 252NEWTARE_CPP_OBJ_DEP = $(NW_CPP_SRC_OBJ:.\=.\Release\)
2986a63f
JH
253PERL_LIB_OBJ_DEP = $(PERL_LIB_OBJ:.\=.\Release\)
254PERL_IO_OBJ_DEP = $(PERL_IO_OBJ:..\=.\Release\)
255!else
256NLM_OBJ = $(NLM_CORE_OBJ:..\=.\Debug\)
257NEWTARE_OBJ_DEP = $(NW_SRC_OBJ:.\=.\Debug\)
011f1a1a 258NEWTARE_CPP_OBJ_DEP = $(NW_CPP_SRC_OBJ:.\=.\Debug\)
2986a63f
JH
259PERL_LIB_OBJ_DEP = $(PERL_LIB_OBJ:.\=.\Debug\)
260PERL_IO_OBJ_DEP = $(PERL_IO_OBJ:..\=.\Debug\)
261!endif
262
263# Symbol base_import & version added for NETWARE
264NW_CFG_VARS = \
265 "INST_DRV=$(INST_DRV)" \
266 "INST_TOP=$(INST_TOP)" \
267 "INST_VER=$(INST_VER)" \
268 "INST_ARCH=$(INST_ARCH)" \
269 "INST_NW_TOP1=$(INST_NW_TOP1)" \
270 "INST_NW_TOP2=$(INST_NW_TOP2)" \
271 "INST_NW_VER=$(INST_NW_VER)" \
272 "archname=$(ARCHNAME)" \
273 "cc=$(C_COMPILER)" \
011f1a1a 274 "ar=$(LINK)" \
2986a63f
JH
275 "ccflags=$(COMPLER_FLAGS)" \
276 "cf_email=$(EMAIL)" \
277 "d_crypt=$(D_CRYPT)" \
278 "d_mymalloc=$(PERL_MALLOC)" \
279# "libs=$(LIBFILES)" \
280 "incpath=$(NLM_INCLUDE_PATH)" \
281 "libperl=$(PERLIMPLIB:..\=)" \
282 "libpth=$(LIBPATH)" \
283# "libc=$(LIBC)" \
284 "make=nmake" \
285 "static_ext=$(STATIC_EXT)" \
286 "dynamic_ext=$(DYNAMIC_EXT)" \
287 "nonxs_ext=$(NONXS_EXT)" \
2986a63f 288 "useithreads=$(USE_ITHREADS)" \
2986a63f 289 "usemultiplicity=$(USE_MULTI)" \
011f1a1a 290 "ld=$(LINK)" \
2986a63f
JH
291 "base_import=$(BASE_IMPORT_FILES)" \
292 "LINK_FLAGS=$(LINK_FLAGS:"=\")" \
293 "optimize=" \
2986a63f
JH
294 "d_stdio_cnt_lval=undef" \
295 "d_stdio_ptr_lval=undef" \
296 "d_stdiobase=undef" \
297 "d_stdstdio=undef" \
011f1a1a 298 "d_times=undef" \
2986a63f
JH
299 "direntrytype=DIR" \
300 "nlm_version=$(NLM_VERSION)" \
301 "d_archname=NetWare" \
302 "mpktool=$(MPKTOOL) $(XDCFLAGS)" \
303 "toolpath=$(TOOL_PATH)"
304
305
306NW_CFGSH_TMPL = config.wc
307NW_CFGH_TMPL = config_H.wc
308
011f1a1a
JH
309SOCKET_NLM = $(AUTODIR)\Socket\Socket.NLM
310FCNTL_NLM = $(AUTODIR)\Fcntl\Fcntl.NLM
311IO_NLM = $(AUTODIR)\IO\IO.NLM
312OPCODE_NLM = $(AUTODIR)\Opcode\Opcode.NLM
cd340a5d 313SDBM_FILE_NLM = $(AUTODIR)\SDBM_File\SDBM_File.NLM
011f1a1a 314POSIX_NLM = $(AUTODIR)\POSIX\POSIX.NLM
48462a74 315ATTRIBUTES_NLM = $(AUTODIR)\attributes\attributes.NLM
011f1a1a
JH
316B_NLM = $(AUTODIR)\B\B.NLM
317DUMPER_NLM = $(AUTODIR)\Data\Dumper\Dumper.NLM
318PEEK_NLM = $(AUTODIR)\Devel\Peek\Peek.NLM
319RE_NLM = $(AUTODIR)\re\re.NLM
320BYTELOADER_NLM = $(AUTODIR)\ByteLoader\ByteLoader.NLM
011f1a1a
JH
321GLOB_NLM = $(AUTODIR)\File\Glob\Glob.NLM
322HOSTNAME_NLM = $(AUTODIR)\Sys\Hostname\Hostname.NLM
323CWD_NLM = $(EXTDIR)\Cwd\Cwd.NLM
324STORABLE_NLM = $(EXTDIR)\Storable\Storable.NLM
325LISTUTIL_NLM = $(EXTDIR)\List\Util.NLM
326MIMEBASE64_NLM = $(EXTDIR)\MIME\Base64\Base64.NLM
83e2e978 327XSAPITEST_NLM = $(EXTDIR)\XS\APItest\APItest.NLM
011f1a1a
JH
328XSTYPEMAP_NLM = $(EXTDIR)\XS\Typemap\Typemap.NLM
329UNICODENORMALIZE_NLM = $(EXTDIR)\Unicode\Normalize\Normalize.NLM
0a2b78c5 330UNICODECOLLATE_NLM = $(EXTDIR)\Unicode\Collate\Collate.NLM
011f1a1a
JH
331
332EXTENSION_NLM = \
f355267c
JH
333 $(FCNTL_NLM) \
334 $(BYTELOADER_NLM) \
335 $(IO_NLM) \
336 $(SOCKET_NLM) \
337 $(OPCODE_NLM) \
338 $(B_NLM) \
48462a74 339 $(ATTRIBUTES_NLM) \
f355267c 340 $(SDBM_FILE_NLM) \
011f1a1a 341 $(POSIX_NLM) \
011f1a1a
JH
342 $(DUMPER_NLM) \
343 $(GLOB_NLM) \
344 $(PEEK_NLM) \
345 $(RE_NLM) \
011f1a1a
JH
346 $(HOSTNAME_NLM) \
347 $(CWD_NLM) \
348 $(STORABLE_NLM) \
349 $(LISTUTIL_NLM) \
350 $(MIMEBASE64_NLM) \
83e2e978 351 $(XSAPITEST_NLM) \
011f1a1a 352 $(XSTYPEMAP_NLM) \
f355267c
JH
353 $(UNICODENORMALIZE_NLM) \
354 $(FILTER_NLM)
011f1a1a 355
f355267c 356# Begin - Following is required to build NetWare specific extensions CGI2Perl, Perl2UCS and UCSExt
011f1a1a 357CGI2PERL = CGI2Perl\CGI2Perl
1a95e36d
JH
358PERL2UCS = Perl2UCS\Perl2UCS
359UCSExt = Perl2UCS\UCSExt
011f1a1a
JH
360
361CGI2PERL_NLM = \CGI2Perl\CGI2Perl.NLM
362PERL2UCS_NLM = $(AUTODIR)\Perl2UCS\Perl2UCS.NLM
363UCSExt_NLM = $(AUTODIR)\UCSExt\UCSExt.NLM
2986a63f
JH
364
365NETWARE_EXTNS = \
011f1a1a 366 $(CGI2PERL_NLM) \
011f1a1a 367 $(PERL2UCS_NLM) \
f355267c 368 $(UCSExt_NLM)
011f1a1a 369# End
4d76e4b4 370
f355267c 371
2986a63f
JH
372ECHO_SRC = TestNLM\echo\echo.c
373TYPE_SRC = TestNLM\type\type.c
374ECHO_SRC_OBJ = $(ECHO_SRC:.c=.obj)
375TYPE_SRC_OBJ = $(TYPE_SRC:.c=.obj)
376ECHO_NLM = TestNLM\echo\echo.nlm
377TYPE_NLM = TestNLM\type\type.nlm
378
379TEST_NLMS = \
380 $(ECHO_NLM) \
381 $(TYPE_NLM) \
382
2986a63f
JH
383
384!ifndef SCREEN
385SCREEN = 'none'
386!endif
387
388!ifndef NLM_DESCRIPTION
011f1a1a 389NLM_DESCRIPTION = $(NLM_NAME8) for NetWare
2986a63f
JH
390!endif
391
392!ifndef NLM_VERSION
011f1a1a 393NLM_VERSION = 3.1.0
2986a63f
JH
394!endif
395
396!ifndef NLM_EXT
011f1a1a 397NLM_EXT = NLM
2986a63f
JH
398!endif
399
400!ifndef BUILT
401BUILT = $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT)
402!endif
403
404!ifndef BASE_IMPORT_FILES
011f1a1a 405BASE_IMPORT_FILES = Import @$(NLMIMPORTS)\clib.imp, @$(NLMIMPORTS)\nlmlib.imp, @$(NLMIMPORTS)\threads.imp, @$(NLMIMPORTS)\nit.imp, @$(NLMIMPORTS)\socklib.imp, \
f355267c 406@$(NLMIMPORTS)\fpsm.imp, @$(NLMIMPORTS)\lib0.imp
2986a63f
JH
407!endif
408
f355267c
JH
409!ifdef SECURITYBASE
410BASE_IMPORT_FILES = $(BASE_IMPORT_FILES), @$(SECURITY_IMPORTS)\nwsec.imp
411!endif # !ifdef SECURITYBASE
412
2986a63f
JH
413!ifdef USE_MPK
414BASE_IMPORT_FILES = $(BASE_IMPORT_FILES), @$(MPKBASE)\import\mpkorg.imp
415!endif
416
417!ifndef BASE_IMPORT_FNS
418BASE_IMPORT_FNS = Import ImportSymbol, GetSystemConsoleScreen, LoadModule
419!endif
f355267c
JH
420
421!ifdef CODEWAR
422NWLIBPATH =
423LIBPATH386 =
424LIBPATH =
425!else # !ifdef CODEWAR
426!error Please define the tools base directory before proceeding
427!endif # !ifdef CODEWAR
428
2986a63f 429!ifndef BASE_LIBRARIES
f355267c
JH
430!ifdef WATCOM
431BASE_LIBRARIES = Library plib3s.lib, math3s.lib, clib3s.lib
432!endif # !ifdef WATCOM
011f1a1a 433!ifdef CODEWAR
2986a63f 434BASE_LIBRARIES =
f355267c
JH
435!endif # !ifdef CODEWAR
436!endif # !ifndef BASE_LIBRARIES
437
438
439COPYRIGHT = Copyright (C) 2000-01, 2002 Novell, Inc. All Rights Reserved.
2986a63f
JH
440
441EXPORTS = Export @perl.imp
442
443#
444# Set these to wherever you want "nmake install" to put your
445# newly built perl.
446#
011f1a1a 447INST_DRV = C:
2986a63f
JH
448INST_TOP = $(INST_DRV)\perl
449
450INST_NW_DRV = i:
451INST_NW_VOL = sys:
452INST_NW_TOP1 = $(INST_NW_VOL)\perl
453INST_NW_TOP2 = $(INST_NW_DRV)\perl
454#INST_NW_VER = \5.6.1
455
456#
457# Comment this out if you DON'T want your perl installation to be versioned.
458# This means that the new installation will overwrite any files from the
459# old installation at the same INST_TOP location. Leaving it enabled is
460# the safest route, as perl adds the extra version directory to all the
461# locations it installs files to. If you disable it, an alternative
462# versioned installation can be obtained by setting INST_TOP above to a
463# path that includes an arbitrary version string.
464#
3eaa1ae9 465INST_VER = \5.25.10
2986a63f
JH
466
467#
468# Comment this out if you DON'T want your perl installation to have
469# architecture specific components. This means that architecture-
470# specific files will be installed along with the architecture-neutral
471# files. Leaving it enabled is safer and more flexible, in case you
472# want to build multiple flavors of perl and install them together in
473# the same location. Commenting it out gives you a simpler
474# installation that is easier to understand for beginners.
475#
476INST_ARCH = \$(ARCHNAME)
477
478#
479# uncomment to enable multiple interpreters. This is need for fork()
480# emulation.
481#
011f1a1a 482
2986a63f
JH
483USE_MULTI = define
484
485#
486# Beginnings of interpreter cloning/threads; still very incomplete.
487# This should be enabled to get the fork() emulation. This needs
488# USE_MULTI as well.
489#
490USE_ITHREADS = define
491
492#
493# uncomment to enable the implicit "host" layer for all system calls
494# made by perl. This needs USE_MULTI above. This is also needed to
495# get fork().
496#
497USE_IMP_SYS = define
498
499# uncomment this to enable the experimental PerlIO I/O subsystem
500# else USE_STDIO will be defined.
501#USE_PERLIO = define
502#USE_STDIO = define
2986a63f 503
2986a63f
JH
504# For now let this be here
505#
506#CRYPT_SRC = fcrypt.c
507
508# For now let this be here
509#
510#CRYPT_LIB = fcrypt.lib
511
512#
513# set this if you wish to use perl's malloc
514# WARNING: Turning this on/off WILL break binary compatibility with extensions
515# you may have compiled with/without it. Be prepared to recompile all
516# extensions if you change the default. Currently, this cannot be enabled
517# if you ask for USE_IMP_SYS above.
518#
519#PERL_MALLOC = define
520
521#
522# set this to your email address (perl will guess a value from
523# from your loginname and your hostname, which may not be right)
524#
525#EMAIL =
526
527##
528## Build configuration ends.
529##
530
531##################### CHANGE THESE ONLY IF YOU MUST #####################
532
533!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
534D_CRYPT = undef
535!ELSE
536D_CRYPT = define
537CRYPT_FLAG = -DHAVE_DES_FCRYPT
538!ENDIF
539
2986a63f
JH
540!IF "$(PERL_MALLOC)" == ""
541PERL_MALLOC = undef
542!ENDIF
543
2986a63f
JH
544!IF "$(USE_IMP_SYS)" == "define"
545PERL_MALLOC = undef
546!ENDIF
547
548!IF "$(USE_MULTI)" == ""
549USE_MULTI = undef
550!ENDIF
551
2986a63f
JH
552!IF "$(USE_ITHREADS)" == ""
553USE_ITHREADS = undef
554!ENDIF
555
556!IF "$(USE_IMP_SYS)" == ""
557USE_IMP_SYS = undef
558!ENDIF
559
560!IF "$(USE_PERLCRT)" == ""
561USE_PERLCRT = undef
562!ENDIF
563
3db8f154 564!IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
2986a63f
JH
565USE_MULTI = define
566!ENDIF
567
acfe0abc 568!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
2986a63f 569USE_MULTI = define
2986a63f
JH
570!ENDIF
571
3db8f154 572!IF "$(USE_MULTI)" != "undef"
2986a63f
JH
573BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
574!ENDIF
575
576!IF "$(USE_IMP_SYS)" != "undef"
577BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS
578!ENDIF
579
580!IF "$(PROCESSOR_ARCHITECTURE)" == ""
581PROCESSOR_ARCHITECTURE = x86
582!ENDIF
583
2986a63f
JH
584!IF "$(USE_MULTI)" == "define"
585ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE)-multi
586!ELSE
587ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE)
588!ENDIF
2986a63f 589
3db8f154 590!IF "$(USE_MULTI)" != "undef"
2986a63f
JH
591ADD_BUILDOPT = $(ADD_BUILDOPT) -DPERL_IMPLICIT_CONTEXT
592!ENDIF
593
594!IF "$(USE_IMP_SYS)" != "undef"
595ADD_BUILDOPT = $(ADD_BUILDOPT) -DPERL_IMPLICIT_SYS
596!ENDIF
597
598!IF "$(USE_ITHREADS)" == "define"
599ARCHNAME = $(ARCHNAME)-thread
600!ENDIF
601
602!IF "$(USE_PERLIO)" == "define"
603USE_STDIO = undef
604ADD_BUILDOPT = $(ADD_BUILDOPT) -DUSE_PERLIO
605ARCHNAME = $(ARCHNAME)-perlio
606!ELSE
607#USE_STDIO = define
608#ADD_BUILDOPT = $(ADD_BUILDOPT) -DUSE_STDIO
609!ENDIF
610
011f1a1a 611
2986a63f
JH
612ARCHDIR = ..\lib\$(ARCHNAME)
613COREDIR = ..\lib\CORE
614AUTODIR = ..\lib\auto
615LIBDIR = ..\lib
616EXTDIR = ..\ext
617PODDIR = ..\pod
618EXTUTILSDIR = $(LIBDIR)\ExtUtils
619
620#
621INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
622INST_BIN = $(INST_SCRIPT)$(INST_ARCH)
623INST_LIB = $(INST_TOP)$(INST_VER)\lib
624INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)
625INST_COREDIR = $(INST_ARCHLIB)\CORE
626INST_POD = $(INST_LIB)\pod
627INST_HTML = $(INST_POD)\html
628
629#
630# Options
631#
632
2986a63f
JH
633OBJOUT_FLAG = -Fo
634EXEOUT_FLAG = -Fe
635
636
637#################### do not edit below this line #######################
638############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ##############
639
640o = .obj
641
642#
643# Rules
644#
645
011f1a1a 646.SUFFIXES : .c $(o) .nlm .lib .NLM
2986a63f
JH
647
648
649#
650# various targets
651PERLIMPLIB = ..\perl.lib
652
653MINIPERL = ..\miniperl.exe
654CONFIGPM = ..\lib\Config.pm
655MINIMOD = ..\lib\ExtUtils\Miniperl.pm
2986a63f
JH
656
657PL2BAT = ..\win32\bin\pl2bat.pl
658
659UTILS = \
660 ..\utils\h2ph \
661 ..\utils\splain \
2986a63f
JH
662 ..\utils\perlbug \
663 ..\utils\pl2pm \
2986a63f
JH
664 ..\utils\h2xs \
665 ..\utils\perldoc \
2986a63f 666 ..\pod\pod2html \
2986a63f
JH
667 ..\pod\pod2man \
668 ..\pod\pod2text \
669 ..\pod\pod2usage \
670 ..\pod\podchecker \
c67aee7a 671 ..\pod\podselect
2986a63f
JH
672
673MAKE = nmake -nologo
011f1a1a 674#NMAKE = $(C_COMPILER) $(INCLUDE) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@
2986a63f
JH
675
676XCOPY = xcopy /f /r /i /d
677RCOPY = xcopy /f /r /i /e /d
678NOOP = @echo
679NULL =
680
681#
682# filenames given to xsubpp must have forward slashes (since it puts
683# full pathnames in #line strings)
f355267c 684XSUBPP = ..\$(MINIPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp -C++ -prototypes
2986a63f
JH
685
686MICROCORE_SRC = \
225a5dca
JH
687 ..\av.c \
688 ..\deb.c \
689 ..\doio.c \
690 ..\doop.c \
a55c5245 691 ..\dquote.c \
225a5dca 692 ..\dump.c \
2986a63f 693 ..\globals.c \
225a5dca 694 ..\gv.c \
8b371338 695 ..\mro_core.c \
225a5dca 696 ..\hv.c \
26ea9e12 697 ..\keywords.c \
225a5dca 698 ..\locale.c \
7ee2227d 699 ..\mathoms.c \
225a5dca 700 ..\mg.c \
625b117d 701 ..\numeric.c \
225a5dca
JH
702 ..\op.c \
703 ..\perl.c \
2986a63f 704 ..\perlapi.c \
225a5dca
JH
705 ..\perly.c \
706 ..\pp.c \
707 ..\pp_ctl.c \
708 ..\pp_hot.c \
625b117d 709 ..\pp_pack.c \
84d4ea48 710 ..\pp_sort.c \
225a5dca 711 ..\pp_sys.c \
10bc17b6 712 ..\reentr.c \
2986a63f
JH
713 ..\regcomp.c \
714 ..\regexec.c \
225a5dca
JH
715 ..\run.c \
716 ..\scope.c \
717 ..\sv.c \
718 ..\taint.c \
f832b29a 719 ..\time64.c \
225a5dca 720 ..\toke.c \
2986a63f 721 ..\universal.c \
225a5dca 722 ..\utf8.c \
48462a74 723 ..\util.c
2986a63f
JH
724
725#EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
726
727!IF "$(PERL_MALLOC)" == "define"
728EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
729!ENDIF
730
2986a63f 731#EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c
2986a63f
JH
732
733!IF "$(CRYPT_SRC)" != ""
734NW_SRC = $(NW_SRC) .\$(CRYPT_SRC)
735!ENDIF
736
737DLL_SRC = $(DYNALOADER).c
738
2986a63f
JH
739CORE_NOCFG_H = \
740 ..\av.h \
741 ..\cop.h \
742 ..\cv.h \
743 ..\dosish.h \
744 ..\embed.h \
745 ..\form.h \
746 ..\gv.h \
747 ..\handy.h \
748 ..\hv.h \
4d3a042d 749 ..\hv_func.h \
2986a63f
JH
750 ..\iperlsys.h \
751 ..\mg.h \
752 ..\nostdio.h \
753 ..\op.h \
754 ..\opcode.h \
755 ..\perl.h \
756 ..\perlapi.h \
757 ..\perlsdio.h \
2986a63f
JH
758 ..\perly.h \
759 ..\pp.h \
760 ..\proto.h \
761 ..\regexp.h \
762 ..\scope.h \
763 ..\sv.h \
764 ..\thread.h \
765 ..\unixish.h \
766 ..\utf8.h \
767 ..\util.h \
768 ..\warnings.h \
769 ..\XSUB.h \
770 ..\EXTERN.h \
771 ..\perlvars.h \
907b3e23 772 ..\intrpvar.h
011f1a1a 773
2986a63f
JH
774CORE_H = $(CORE_NOCFG_H) .\config.h
775
776DLL_OBJ = $(DLL_SRC:.c=.obj)
2986a63f 777
48462a74 778DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \
c9dab4e9 779 Data/Dumper Devel/Peek ByteLoader File/Glob \
83f8bb56 780 Storable/Storable List/Util MIME/Base64/Base64 XS/APItest/APItest \
0a2b78c5 781 XS/Typemap/Typemap Unicode/Collate/Collate Unicode/Normalize/Normalize Sys/Hostname
57e69e5f 782
2986a63f
JH
783STATIC_EXT = DynaLoader
784NONXS_EXT = Errno
785
011f1a1a
JH
786DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader
787SOCKET = $(EXTDIR)\Socket\Socket
788FCNTL = $(EXTDIR)\Fcntl\Fcntl
789OPCODE = $(EXTDIR)\Opcode\Opcode
790SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File
2986a63f 791IO = $(EXTDIR)\IO\IO
011f1a1a 792POSIX = $(EXTDIR)\POSIX\POSIX
48462a74 793ATTRIBUTES = $(EXTDIR)\attributes\attributes
2986a63f
JH
794B = $(EXTDIR)\B\B
795RE = $(EXTDIR)\re\re
011f1a1a
JH
796DUMPER = $(EXTDIR)\Data\Dumper\Dumper
797ERRNO = $(EXTDIR)\Errno\Errno
798PEEK = $(EXTDIR)\Devel\Peek\Peek
799BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader
011f1a1a
JH
800GLOB = $(EXTDIR)\File\Glob\Glob
801HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname
225a5dca 802CWD = $(EXTDIR)\Cwd\Cwd
ac5ea531
JH
803STORABLE = $(EXTDIR)\Storable\Storable
804LISTUTIL = $(EXTDIR)\List\Util
805MIMEBASE64 = $(EXTDIR)\MIME\Base64\Base64
83e2e978 806XSAPITEST = $(EXTDIR)\XS\APItest\APItest
ac5ea531
JH
807XSTYPEMAP = $(EXTDIR)\XS\Typemap\Typemap
808UNICODENORMALIZE = $(EXTDIR)\Unicode\Normalize\Normalize
0a2b78c5 809UNICODECOLLATE = $(EXTDIR)\Unicode\Collate\Collate
2986a63f 810
57e69e5f
JH
811ERRNO_PM_NW = $(LIBDIR)\Errno.pm
812
011f1a1a 813EXTENSION_C = \
2986a63f
JH
814 $(SOCKET).c \
815 $(FCNTL).c \
816 $(OPCODE).c \
817 $(SDBM_FILE).c \
818 $(IO).c \
819 $(POSIX).c \
48462a74 820 $(ATTRIBUTES).c \
2986a63f
JH
821 $(RE).c \
822 $(DUMPER).c \
823 $(PEEK).c \
824 $(B).c \
825 $(BYTELOADER).c \
225a5dca 826 $(GLOB).c \
57e69e5f 827 $(HOSTNAME).c \
225a5dca
JH
828 $(CWD).c \
829 $(STORABLE).c \
830 $(LISTUTIL).c \
831 $(MIMEBASE64).c \
83e2e978 832 $(XSAPITEST).c \
225a5dca 833 $(XSTYPEMAP).c \
ac5ea531 834 $(UNICODENORMALIZE).c \
2986a63f 835
57e69e5f
JH
836EXTENSION_NPM = \
837 $(ERRNO_PM_NW) \
838
2986a63f
JH
839POD2HTML = $(PODDIR)\pod2html
840POD2MAN = $(PODDIR)\pod2man
2986a63f
JH
841POD2TEXT = $(PODDIR)\pod2text
842
843#
844# Top targets
845#
846
f355267c 847all : .cleanoldfiles .\nwconfig.h $(CONFIGPM) $(NLM_NAME) $(EXTENSION_NLM) $(EXTENSION_NPM) $(TEST_NLMS) $(NETWARE_EXTNS)
2986a63f
JH
848
849#------------------------------------------------------------
850
851..\config.sh : config.nw5 $(MINIPERL) config_sh.PL
852 $(MINIPERL) -I..\lib config_sh.PL $(NW_CFG_VARS) config.nw5 > ..\config.sh
853
854# this target is for when changes to the main config.sh happen
378eeda7 855# edit config.wc and make this target
2986a63f
JH
856regen_config_h:
857 perl config_sh.PL $(NW_CFG_VARS) $(NW_CFGSH_TMPL) > ..\config.sh
858 cd ..
41504350 859 -del /f /q perl.exe
2986a63f
JH
860 perl configpm
861 cd netware
41504350 862 -del /f /q $(NW_CFGH_TMPL)
2986a63f
JH
863 -mkdir $(COREDIR)
864 -perl -I..\lib config_h.PL "INST_VER=$(INST_VER)"
865 rename config.h $(NW_CFGH_TMPL)
866
867$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl
868 cd .. && miniperl configpm
869 if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL)
870 $(XCOPY) ..\*.h $(COREDIR)\*.*
871 $(XCOPY) *.h $(COREDIR)\*.*
872 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
873 if exist include\* $(RCOPY) include $(COREDIR)\*.*
874 $(MINIPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)" \
875 || $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
f355267c 876 @echo CONFIGPM Done
2986a63f
JH
877
878$(MINIPERL) :
879 $(error)Please build $(MINIPERL) before continuing
880
881$(MINIMOD) : $(MINIPERL) ..\minimod.pl
882 cd .. && miniperl minimod.pl > lib\ExtUtils\Miniperl.pm
883
2986a63f
JH
884$(EXTDIR)\DynaLoader\dl_netware.xs: dl_netware.xs
885 copy dl_netware.xs $(EXTDIR)\DynaLoader\dl_netware.xs
886
887HEADERS :
888 @echo . . . . making stdio.h and string.h
cd340a5d 889 @copy << stdio.h >\nul
2986a63f
JH
890
891/*
f355267c 892 * Copyright (C) 2000-01 Novell, Inc. All Rights Reserved.
2986a63f
JH
893 *
894 * You may distribute under the terms of either the GNU General Public
895 * License or the Artistic License, as specified in the README file.
896 *
897 */
898
899/*
900 * FILENAME : stdio.h
901 * DESCRIPTION : Generated header file, do not edit. See makefile.
902 * This header file causes the includer to use clibstuf.h
903 * The purpose of clibstuf is to make sure that Perl, cgi2perl and
011f1a1a 904 * all the perl extension nlm's (*.NLM) use the Novell Netware CLIB versions
2986a63f
JH
905 * of standard functions. This code loads up a whole bunch of function pointers
906 * to point at the standard CLIB functions.
907 * Author : HYAK
908 * Date : January 2001.
909 *
910 */
911
912
913#ifndef __Stdio_H__
914#define __Stdio_H__
915
916
917#include "$(NLMSDKBASE)\INCLUDE\NLM\stdio.h"
918#include "clibsdio.h"
919
920
921#endif // __Stdio_H__
922
923<<
924 @copy stdio.h $(COREDIR)
925
cd340a5d 926 @copy << string.h >\nul
2986a63f
JH
927
928/*
f355267c 929 * Copyright (C) 2000-01 Novell, Inc. All Rights Reserved.
2986a63f
JH
930 *
931 * You may distribute under the terms of either the GNU General Public
932 * License or the Artistic License, as specified in the README file.
933 *
934 */
935
936/*
937 * FILENAME : string.h
938 * DESCRIPTION : Generated header file, do not edit. See makefile.
939 * This header file causes the includer to use clibstuf.h
940 * The purpose of clibstuf is to make sure that Perl, cgi2perl and
011f1a1a 941 * all the perl extension nlm's (*.NLM) use the Novell Netware CLIB versions
2986a63f
JH
942 * of standard functions. This code loads up a whole bunch of function pointers
943 * to point at the standard CLIB functions.
944 * Author : HYAK
945 * Date : January 2001.
946 *
947 */
948
949
950#ifndef __String_H__
951#define __String_H__
952
953
954#include "$(NLMSDKBASE)\INCLUDE\NLM\string.h"
955#include "clibstr.h"
956
957
958#endif // __String_H__
959
960<<
961 @copy string.h $(COREDIR)
962
963
011f1a1a
JH
964$(NLM_NAME): MESSAGE HEADERS $(BLDDIR)\nul $(NLM_OBJ) $(NEWTARE_OBJ_DEP) $(NEWTARE_CPP_OBJ_DEP) $(PERL_IO_OBJ_DEP) $(DLL_OBJ) \
965 $(PERLIMPLIB) $(EXT_MAIN_OBJ) $(PERL_TEMP_OBJ) #$(PERL_LIB_OBJ)
2986a63f 966 @echo======= Linking $@ at $(MAKEDIR)\$(BLDDIR) =======
2986a63f 967# Linker definitions and lining come here for CODEWARRIOR
011f1a1a
JH
968 @echo $(BASE_IMPORT_FILES) > $*.def
969 @echo MODULE clib >> $*.def
970 @echo MODULE netdb >> $*.def
f355267c
JH
971!ifdef SECURITYBASE
972 @echo MODULE nwsec >> $*.def
973!endif #!ifdef SECURITYBASE
011f1a1a
JH
974 @echo $(EXPORTS) >> $*.def
975!ifdef USE_XDC
976 @echo======= Creating XDC file
977 @echo Import Mp.imp >> $*.def
2986a63f 978!ifdef NLM_NAME8
011f1a1a
JH
979 $(MPKTOOL) $(XDCFLAGS) $(BLDDIR)\$(NLM_NAME8).xdc
980 @echo xdcdata $(BLDDIR)\$(NLM_NAME8).xdc >> $*.def
2986a63f 981!else
011f1a1a
JH
982 $(MPKTOOL) $(XDCFLAGS) $(BLDDIR)\$(NLM_NAME).xdc
983 @echo xdcdata $(BLDDIR)\$(NLM_NAME).xdc >> $*.def
2986a63f
JH
984!endif
985!endif
011f1a1a
JH
986## $(LINK) $(LDFLAGS) $(BS_CFLAGS) -desc "Perl 5.6.1 for NetWare" $(NEWTARE_OBJ_DEP:.obj=.obj) $(NLM_OBJ:.obj=.obj) $(PERL_IO_OBJ_DEP:.obj=.obj) $(DLL_OBJ:.obj=.obj) $(NEWTARE_CPP_OBJ_DEP:.obj=.obj) -commandfile $*.def -o .\$(BLDDIR)\$@
987 $(LINK) $(LDFLAGS) -desc $(MODULE_DESC) $(NEWTARE_OBJ_DEP:.obj=.obj) $(NLM_OBJ:.obj=.obj) $(PERL_IO_OBJ_DEP:.obj=.obj) $(DLL_OBJ:.obj=.obj) $(NEWTARE_CPP_OBJ_DEP:.obj=.obj) -commandfile $*.def -o .\$(BLDDIR)\$@
9139c723
NC
988 copy splittree.pl ..
989 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)
011f1a1a 990 @echo ========Linked $@ ==========
f355267c 991
2986a63f 992 @echo======= Finished building $(BUILT).
011f1a1a
JH
993
994# Create the debug or release directory if not existing
995$(BLDDIR)\nul:
996 @echo . . . . mkdir $(BLDDIR)
997 @mkdir $(BLDDIR)
998 @echo '$(BLDDIR)' directory created.
2986a63f
JH
999
1000MESSAGE:
1001 @echo======= $(MAKE_ACTION)ing $(NLM_NAME) at $(MAKEDIR)\$(BLDDIR) =======
011f1a1a
JH
1002
1003$(PERLIMPLIB): perllib.imp
f355267c
JH
1004# @echo Building $(PERLIMPLIB)...
1005# $(LD) -type library $(NLM_OBJ) $(BLDDIR)\nw5.obj $(BLDDIR)\nwmain.obj $(BLDDIR)\nw5thread.obj $(BLDDIR)\nwtinfo.obj \
1006# $(BLDDIR)\nwutil.obj $(BLDDIR)\interface.obj $(BLDDIR)\perllib.obj $(PERL_IO_OBJ_DEP) $(DLL_OBJ) -o $@
1007# $(XCOPY) $(PERLIMPLIB) $(COREDIR)
1008# @echo $(PERLIMPLIB) Done
011f1a1a 1009
d500e60d 1010perllib.imp : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl
011f1a1a 1011# $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=def $(ADD_BUILDOPT) \
080c3729 1012# CCTYPE=$(CCTYPE) TARG_DIR=..\ > perllib.def
011f1a1a
JH
1013 @echo (Perl) > perl.imp
1014 $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=imp $(BS_CFLAGS) $(DEFINES) $(ADD_BUILDOPT) \
080c3729 1015 CCTYPE=$(CCTYPE) TARG_DIR=..\ >> perl.imp
011f1a1a
JH
1016 copy perl.imp $(COREDIR)
1017
2986a63f 1018$(DLL_OBJ) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
011f1a1a
JH
1019 @echo $(MPKMESSAGE)...$(BLDMESG)...$@
1020 @$(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) -I$(EXTDIR)\DynaLoader \
1021 $(EXTDIR)\DynaLoader\$(*F).c -o $@
1022 @echo $(@) Done.
2986a63f
JH
1023
1024$(DYNALOADER).c : $(MINIPERL) $(EXTDIR)\DynaLoader\dl_netware.xs $(CONFIGPM)
1025 if not exist $(AUTODIR) mkdir $(AUTODIR)
1026 cd $(EXTDIR)\$(*B)
1027 ..\$(MINIPERL) -I..\..\lib $(*B)_pm.PL
1028 ..\$(MINIPERL) -I..\..\lib XSLoader_pm.PL
1029 cd ..\..\netware
1030 $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
1031 $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
1032 cd $(EXTDIR)\$(*B)
1033 $(XSUBPP) dl_netware.xs > $(*B).c
1034 cd ..\..\netware
011f1a1a 1035 @echo Dynaloader Done
2986a63f 1036
2986a63f
JH
1037
1038$(PERL_IO_OBJ_DEP) : ..\$(*F).c
1039 @echo $(MPKMESSAGE) $(BLDMESG) $@
011f1a1a
JH
1040 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) ..\$(*F).c -o $@
1041 @echo Built $(@)
2986a63f
JH
1042
1043$(NLM_OBJ) : ..\$(*F).c
1044 @echo $(MPKMESSAGE) $(BLDMESG) $@
011f1a1a
JH
1045 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) ..\$(*F).c -o $@
1046 @echo Built $(@)
1047
1048
2986a63f
JH
1049$(NEWTARE_OBJ_DEP) : $(NW_H_FILES) $(NW_HOST_H_FILES) $(*F).c
1050 @echo $(MPKMESSAGE) $(BLDMESG) $@
011f1a1a
JH
1051 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@
1052 @echo Built $(@)
2986a63f 1053
011f1a1a 1054$(NEWTARE_CPP_OBJ_DEP) : $(NW_H_FILES) $(NW_HOST_H_FILES) $(*F).cpp
2986a63f 1055 @echo $(MPKMESSAGE) $(BLDMESG) $@
011f1a1a
JH
1056 $(C_COMPILER) $(CWCPPFLAGS) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).cpp -o $@
1057 @echo Built $(@)
1058
1059$(EXT_MAIN_OBJ) : $(CLIB_H_FILES)
1060 @echo $(MPKMESSAGE) $(BLDMESG) $@
1061 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@
1062 $(LD) -type library $@ -o $*.lib
1063 @copy $*.lib $(COREDIR)
2986a63f
JH
1064
1065# Delete any files that might have got created during building miniperl.exe
1066# config.sh will definitely be created
1067# COREDIR might have got created
1068.cleanoldfiles :
41504350
JH
1069 -del /f /q $(PERLIMPLIB)
1070 -del /f /q ..\lib\config.pm
1071 -del /f /q ..\config.sh
1072 -del /f /q .\Main.obj
1073 -del /f /q .\Main.lib
2986a63f
JH
1074 -rmdir /s /q $(AUTODIR)
1075 -rmdir /s /q $(COREDIR)
41504350 1076 -del /f /q ..\lib\core
2986a63f
JH
1077
1078.\nwconfig.h : $(NW_CFGH_TMPL)
f355267c 1079 @if exist .\config.h del /f /q .\config.h
2986a63f
JH
1080 copy $(NW_CFGH_TMPL) config.h
1081
1082# REQUIRED WHEN WE INCLUDE CONFIGPM OR REGEN_CONFIG - sgp
1083#..\nwconfig.sh : config.nw5 $(MINIPERL) config_sh.PL
1084# $(MINIPERL) -I..\lib config_sh.PL $(NW_CFG_VARS) config.nw5 > ..\config.sh
1085# @pause
1086# cd ..
4d76e4b4 1087# del /f /q config.sh
2986a63f
JH
1088# rename nwconfig.sh config.sh
1089# cd netware
1090
1091config.nw5 : $(NW_CFGSH_TMPL)
1092 copy $(NW_CFGSH_TMPL) config.nw5
1093
011f1a1a 1094$(SOCKET_NLM): $(NLM_NAME) $(SOCKET).xs
2986a63f 1095 cd $(EXTDIR)\$(*B)
c5635c9e 1096 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1097 $(MAKE)
1098 cd ..\..\netware
1099
011f1a1a 1100$(HOSTNAME_NLM): $(NLM_NAME) $(HOSTNAME).xs
57e69e5f 1101 cd $(EXTDIR)\Sys\$(*B)
c5635c9e 1102 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
57e69e5f
JH
1103 $(MAKE)
1104 cd ..\..\..\netware
1105
011f1a1a 1106$(FCNTL_NLM):
2986a63f 1107 cd $(EXTDIR)\$(*B)
c5635c9e 1108 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1109 $(MAKE)
1110 cd ..\..\netware
1111
011f1a1a 1112$(IO_NLM):
2986a63f 1113 cd $(EXTDIR)\$(*B)
c5635c9e 1114 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1115 $(MAKE)
1116 cd ..\..\netware
1117
011f1a1a 1118$(OPCODE_NLM):
2986a63f 1119 cd $(EXTDIR)\$(*B)
c5635c9e 1120 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1121 $(MAKE)
1122 cd ..\..\netware
1123
011f1a1a 1124$(B_NLM):
2986a63f 1125 cd $(EXTDIR)\$(*B)
c5635c9e 1126 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1127 $(MAKE)
1128 cd ..\..\netware
1129
011f1a1a 1130$(DUMPER_NLM):
2986a63f 1131 cd $(EXTDIR)\Data\$(*B)
c5635c9e 1132 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1133 $(MAKE)
1134 cd ..\..\..\netware
1135
011f1a1a 1136$(PEEK_NLM):
2986a63f 1137 cd $(EXTDIR)\Devel\$(*B)
c5635c9e 1138 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1139 $(MAKE)
1140 cd ..\..\..\netware
1141
011f1a1a 1142$(RE_NLM):
2986a63f 1143 cd $(EXTDIR)\$(*B)
c5635c9e 1144 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1145 $(MAKE)
1146 cd ..\..\netware
1147
011f1a1a 1148$(BYTELOADER_NLM):
2986a63f 1149 cd $(EXTDIR)\$(*B)
c5635c9e 1150 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1151 $(MAKE)
1152 cd ..\..\netware
1153
011f1a1a 1154$(GLOB_NLM):
2986a63f 1155 cd $(EXTDIR)\File\$(*B)
c5635c9e 1156 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1157 $(MAKE)
1158 cd ..\..\..\netware
1159
011f1a1a 1160$(POSIX_NLM):
2986a63f 1161 cd $(EXTDIR)\$(*B)
c5635c9e 1162 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1163 $(MAKE)
1164 cd ..\..\netware
1165
48462a74
NC
1166$(ATTRIBUTES_NLM):
1167 cd $(EXTDIR)\$(*B)
1168 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
1169 $(MAKE)
1170 cd ..\..\netware
1171
011f1a1a 1172$(SDBM_FILE_NLM):
2986a63f 1173 cd $(EXTDIR)\$(*B)
c5635c9e 1174 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1175 $(MAKE)
1176 cd ..\..\netware
1177
011f1a1a 1178$(CWD_NLM):
225a5dca 1179 cd $(EXTDIR)\$(*B)
c5635c9e 1180 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
225a5dca
JH
1181 $(MAKE)
1182 cd ..\..\netware
1183
011f1a1a 1184$(STORABLE_NLM):
225a5dca 1185 cd $(EXTDIR)\$(*B)
c5635c9e 1186 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
225a5dca
JH
1187 $(MAKE)
1188 cd ..\..\netware
1189
011f1a1a 1190$(LISTUTIL_NLM):
225a5dca 1191 cd $(EXTDIR)\List\$(*B)
c5635c9e 1192 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
225a5dca
JH
1193 $(MAKE)
1194 cd ..\..\..\netware
1195
011f1a1a 1196$(MIMEBASE64_NLM):
225a5dca 1197 cd $(EXTDIR)\Mime\$(*B)
c5635c9e 1198 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
225a5dca
JH
1199 $(MAKE)
1200 cd ..\..\..\netware
1201
83e2e978
JH
1202$(XSAPITEST_NLM):
1203 cd $(EXTDIR)\XS\$(*B)
1204 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
1205 $(MAKE)
1206 cd ..\..\..\netware
1207
011f1a1a 1208$(XSTYPEMAP_NLM):
225a5dca 1209 cd $(EXTDIR)\XS\$(*B)
c5635c9e 1210 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
225a5dca
JH
1211 $(MAKE)
1212 cd ..\..\..\netware
1213
011f1a1a 1214$(UNICODENORMALIZE_NLM):
ac5ea531 1215 cd $(EXTDIR)\Unicode\$(*B)
c5635c9e 1216 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
ac5ea531
JH
1217 $(MAKE)
1218 cd ..\..\..\netware
1219
011f1a1a 1220
2986a63f 1221$(ERRNO_PM_NW):
011f1a1a 1222# @echo Building $@
2986a63f 1223 cd $(EXTDIR)\$(*B)
c5635c9e 1224 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1225 $(MAKE)
1226 cd ..\..\netware
1227
1228$(ECHO_SRC_OBJ): $*.c
1229 @echo $(MPKMESSAGE) $(BLDMESG) $@
011f1a1a
JH
1230 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@
1231 @echo Built $(@)
2986a63f
JH
1232
1233$(ECHO_NLM): $(ECHO_SRC_OBJ)
1234 @echo======= Linking $@ =======
011f1a1a
JH
1235# Linker definitions and lining come here for CODEWARRIOR
1236 @echo $(BASE_IMPORT_FILES) > $*.def
1237 @echo MODULE clib >> $*.def
1238 @echo Import @perl.imp >> $*.def
2986a63f
JH
1239!ifdef USE_XDC
1240 $(MPKTOOL) $(XDCFLAGS) $*.xdc
011f1a1a
JH
1241 @echo Import @MP.imp >> $*.def
1242 @echo xdcdata $*.xdc >> $*.def
2986a63f 1243!endif
011f1a1a
JH
1244## $(LINK) $(LDFLAGS) $(BS_CFLAGS) -desc "DOS Echo emulation for Perl testing" $(ECHO_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@
1245 $(LINK) $(LDFLAGS) -desc "DOS Echo emulation for Perl testing" $(ECHO_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@
2986a63f
JH
1246 @echo======= Linking Complete =======
1247
1248$(TYPE_SRC_OBJ): $*.c
1249 @echo $(MPKMESSAGE) $(BLDMESG) $@
011f1a1a
JH
1250 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@
1251 @echo Built $(@)
1252
2986a63f
JH
1253$(TYPE_NLM): $(TYPE_SRC_OBJ)
1254 @echo======= Linking $@ =======
011f1a1a
JH
1255# Linker definitions and lining come here for CODEWARRIOR
1256 @echo $(BASE_IMPORT_FILES) > $*.def
1257 @echo MODULE clib >> $*.def
1258 @echo Import @perl.imp >> $*.def
2986a63f
JH
1259!ifdef USE_XDC
1260 $(MPKTOOL) $(XDCFLAGS) $*.xdc
011f1a1a
JH
1261 @echo Import @MP.imp >> $*.def
1262 @echo xdcdata $*.xdc >> $*.def
2986a63f 1263!endif
011f1a1a
JH
1264## $(LINK) $(LDFLAGS) $(BS_CFLAGS) -desc "DOS Type emulation for Perl testing" $(TYPE_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@
1265 $(LINK) $(LDFLAGS) -desc "DOS Type emulation for Perl testing" $(TYPE_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@
2986a63f
JH
1266 @echo======= Linking Complete =======
1267
011f1a1a 1268
2986a63f 1269# Build NetWare specific extensions
011f1a1a 1270$(CGI2PERL_NLM):
2986a63f
JH
1271!if "$(NW_EXTNS)"=="yes"
1272 cd $(*B)
011f1a1a 1273 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1274 $(MAKE)
1275 cd ..\..\netware
1276!endif
1277
011f1a1a 1278$(PERL2UCS_NLM):
2986a63f 1279!if "$(NW_EXTNS)"=="yes"
1a95e36d 1280 cd $(*B)
011f1a1a 1281 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl
2986a63f
JH
1282 $(MAKE)
1283 cd ..\..\netware
1284!endif
1285
011f1a1a 1286$(UCSExt_NLM):
4d76e4b4 1287!if "$(NW_EXTNS)"=="yes"
1a95e36d 1288 cd $(*B)
011f1a1a 1289 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl
4d76e4b4
JH
1290 $(MAKE)
1291 cd ..\..\netware
1292!endif
1293
2986a63f 1294nwclean:
41504350
JH
1295 -rmdir /s /q $(REL_DIR)
1296 -rmdir /s /q $(DEB_DIR)
1297 @if exist .\stdio.h del /f /q .\stdio.h
1298 @if exist .\string.h del /f /q .\string.h
f355267c 1299 @if exist .\config.h del /f /q .\config.h
41504350
JH
1300 @if exist .\config.nw5 del /f /q .\config.nw5
1301 @if exist .\perl.imp del /f /q .\perl.imp
cf267c36 1302 -del /f /q *.obj *.lib *.def *.sym *.map *.xdc *.err *.nlm
2986a63f 1303 cd testnlm\echo
cf267c36 1304 -del /f /q *.obj *.map *.link *.options *.nlm *.sym *.xdc *.err *.lib *.def *.pdb *.bs
2986a63f 1305 cd ..\type
cf267c36 1306 -del /f /q *.obj *.map *.link *.options *.nlm *.sym *.xdc *.err *.lib *.def *.pdb *.bs
2986a63f
JH
1307 cd ..\..\
1308
c67aee7a 1309utils: $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT)
2986a63f
JH
1310 cd ..\utils
1311 $(MAKE) PERL=$(MINIPERL)
1312 cd ..\pod
1313 copy ..\README.amiga .\perlamiga.pod
1314 copy ..\README.cygwin .\perlcygwin.pod
1315 copy ..\README.dos .\perldos.pod
1316 copy ..\README.hpux .\perlhpux.pod
2986a63f
JH
1317 copy ..\README.os2 .\perlos2.pod
1318 copy ..\vms\perlvms.pod .\perlvms.pod
1319 copy ..\README.win32 .\perlwin32.pod
1320 copy ..\README.netware .\perlnw5.pod
1321 $(MAKE) -f ..\win32\pod.mak converters
3e7b198a 1322
2986a63f
JH
1323 cd ..\netware
1324 $(MINIPERL) $(PL2BAT) $(UTILS)
1325
1326distclean: clean nwclean
41504350 1327 -del /f /q $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD)
41504350
JH
1328 -del /f /q $(EXTENSION_NPM)
1329 -del /f /q $(EXTENSION_C) $(DYNALOADER).c $(ERRNO).pm
1330 -del /f /q $(EXTDIR)\DynaLoader\dl_netware.xs
f355267c
JH
1331 -del /f /q $(EXTDIR)\DynaLoader\dl_win32.xs
1332 -del /f /q $(EXTDIR)\DynaLoader\DynaLoader.pm
1333 -del /f /q $(EXTDIR)\DynaLoader\XSLoader.pm
48462a74 1334 -del /f /q $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm
41504350
JH
1335 -del /f /q $(LIBDIR)\XSLoader.pm
1336 -del /f /q $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm
1337 -del /f /q $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm
1338 -del /f /q $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm
1339 -del /f /q $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm
1340 -del /f /q $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
c9dab4e9 1341 -del /f /q $(LIBDIR)\Devel\Peek.pm
41504350
JH
1342 -del /f /q $(LIBDIR)\File\Glob.pm
1343 -del /f /q $(LIBDIR)\Unicode\Normalize.pm
0a2b78c5 1344 -del /f /q $(LIBDIR)\Unicode\Collate.pm
41504350 1345 -rmdir /s /q $(LIBDIR)\IO
41504350
JH
1346 -rmdir /s /q $(LIBDIR)\B
1347 -rmdir /s /q $(LIBDIR)\Data
1348 -del /f /q $(PODDIR)\*.html
1349 -del /f /q $(PODDIR)\*.bat
2986a63f 1350 cd ..\utils
2560602c 1351 -del /f /q h2ph splain perlbug pl2pm h2xs perldoc
41504350 1352 -del /f /q *.bat
2986a63f 1353 cd ..\netware
9139c723 1354 -del /f /q ..\config.sh ..\splittree.pl dlutils.c config.h.new
41504350
JH
1355 -del /f /q $(CONFIGPM)
1356 -del /f /q bin\*.bat
2986a63f 1357 cd $(EXTDIR)
cf267c36 1358 -del /s /q /f *.lib *.def *.map *.pdb *.bs Makefile *$(o) pm_to_blib *.xdc *.err *.obj *.sym
2986a63f
JH
1359 cd ..\netware
1360!if "$(NW_EXTNS)"=="yes"
1361 cd cgi2perl
cf267c36 1362 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.def *.lib *.pdb
2986a63f 1363 cd ..
1a95e36d 1364 cd Perl2UCS
cf267c36 1365 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.def *.lib *.pdb
9219c8de 1366 cd ..\..\netware
1a95e36d 1367 cd UCSExt
4d76e4b4
JH
1368 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.c
1369 cd ..\..\netware
2986a63f 1370!endif
41504350
JH
1371 -rmdir /s /q $(AUTODIR)
1372 -rmdir /s /q $(COREDIR)
1373 -del /f /q ..\config.sh
2986a63f
JH
1374
1375installwin:
1376 $(MINIPERL) -I..\lib ..\installperl
1377
f355267c
JH
1378install : utils installwin perlimp
1379
1380perlimp :
1381 copy perl.imp $(INST_COREDIR)
2986a63f
JH
1382
1383installnw:
1384 $(MINIPERL) -I..\lib ..\installperl -netware
1385
225a5dca
JH
1386install_tests :
1387 cd ..\t
1388 xcopy /f /r /i /s /d *.* $(INST_NW_TOP2)\scripts\t
1389 cd ..\lib
1390 xcopy /f /r /i /s /d *.t $(INST_NW_TOP2)\scripts\t\lib
1391 cd ..\ext
1392 xcopy /f /r /i /s /d *.t $(INST_NW_TOP2)\scripts\t\ext
32ce01bc
JH
1393 cd ..\netware\t
1394 xcopy /f /r /i /s /d *.pl $(INST_NW_TOP2)\scripts\t
1395 cd ..
225a5dca
JH
1396
1397nwinstall: utils installnw install_tests
2986a63f
JH
1398
1399inst_lib : $(CONFIGPM)
9139c723
NC
1400 copy ..\win32\splittree.pl ..
1401 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)
2986a63f
JH
1402 $(RCOPY) ..\lib $(INST_LIB)\*.*
1403
1404clean :
1405 -@erase miniperlmain$(o)
1406 -@erase /f config.h
1407 -@erase $(DLL_OBJ)
1408 -@erase ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp *.res
1409 -@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat