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