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