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.30.3 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 315ATTRIBUTES_NLM = $(AUTODIR)\attributes\attributes.NLM 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 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 327XSAPITEST_NLM = $(EXTDIR)\XS\APItest\APItest.NLM 328XSTYPEMAP_NLM = $(EXTDIR)\XS\Typemap\Typemap.NLM 329UNICODENORMALIZE_NLM = $(EXTDIR)\Unicode\Normalize\Normalize.NLM 330UNICODECOLLATE_NLM = $(EXTDIR)\Unicode\Collate\Collate.NLM 331 332EXTENSION_NLM = \ 333 $(FCNTL_NLM) \ 334 $(BYTELOADER_NLM) \ 335 $(IO_NLM) \ 336 $(SOCKET_NLM) \ 337 $(OPCODE_NLM) \ 338 $(B_NLM) \ 339 $(ATTRIBUTES_NLM) \ 340 $(SDBM_FILE_NLM) \ 341 $(POSIX_NLM) \ 342 $(DUMPER_NLM) \ 343 $(GLOB_NLM) \ 344 $(PEEK_NLM) \ 345 $(RE_NLM) \ 346 $(HOSTNAME_NLM) \ 347 $(CWD_NLM) \ 348 $(STORABLE_NLM) \ 349 $(LISTUTIL_NLM) \ 350 $(MIMEBASE64_NLM) \ 351 $(XSAPITEST_NLM) \ 352 $(XSTYPEMAP_NLM) \ 353 $(UNICODENORMALIZE_NLM) \ 354 $(FILTER_NLM) 355 356# Begin - Following is required to build NetWare specific extensions CGI2Perl, Perl2UCS and UCSExt 357CGI2PERL = CGI2Perl\CGI2Perl 358PERL2UCS = Perl2UCS\Perl2UCS 359UCSExt = Perl2UCS\UCSExt 360 361CGI2PERL_NLM = \CGI2Perl\CGI2Perl.NLM 362PERL2UCS_NLM = $(AUTODIR)\Perl2UCS\Perl2UCS.NLM 363UCSExt_NLM = $(AUTODIR)\UCSExt\UCSExt.NLM 364 365NETWARE_EXTNS = \ 366 $(CGI2PERL_NLM) \ 367 $(PERL2UCS_NLM) \ 368 $(UCSExt_NLM) 369# End 370 371 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 383 384!ifndef SCREEN 385SCREEN = 'none' 386!endif 387 388!ifndef NLM_DESCRIPTION 389NLM_DESCRIPTION = $(NLM_NAME8) for NetWare 390!endif 391 392!ifndef NLM_VERSION 393NLM_VERSION = 3.1.0 394!endif 395 396!ifndef NLM_EXT 397NLM_EXT = NLM 398!endif 399 400!ifndef BUILT 401BUILT = $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT) 402!endif 403 404!ifndef BASE_IMPORT_FILES 405BASE_IMPORT_FILES = Import @$(NLMIMPORTS)\clib.imp, @$(NLMIMPORTS)\nlmlib.imp, @$(NLMIMPORTS)\threads.imp, @$(NLMIMPORTS)\nit.imp, @$(NLMIMPORTS)\socklib.imp, \ 406@$(NLMIMPORTS)\fpsm.imp, @$(NLMIMPORTS)\lib0.imp 407!endif 408 409!ifdef SECURITYBASE 410BASE_IMPORT_FILES = $(BASE_IMPORT_FILES), @$(SECURITY_IMPORTS)\nwsec.imp 411!endif # !ifdef SECURITYBASE 412 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 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 429!ifndef BASE_LIBRARIES 430!ifdef WATCOM 431BASE_LIBRARIES = Library plib3s.lib, math3s.lib, clib3s.lib 432!endif # !ifdef WATCOM 433!ifdef CODEWAR 434BASE_LIBRARIES = 435!endif # !ifdef CODEWAR 436!endif # !ifndef BASE_LIBRARIES 437 438 439COPYRIGHT = Copyright (C) 2000-01, 2002 Novell, Inc. All Rights Reserved. 440 441EXPORTS = Export @perl.imp 442 443# 444# Set these to wherever you want "nmake install" to put your 445# newly built perl. 446# 447INST_DRV = C: 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# 465INST_VER = \5.30.3 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# 482 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 503 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 540!IF "$(PERL_MALLOC)" == "" 541PERL_MALLOC = undef 542!ENDIF 543 544!IF "$(USE_IMP_SYS)" == "define" 545PERL_MALLOC = undef 546!ENDIF 547 548!IF "$(USE_MULTI)" == "" 549USE_MULTI = undef 550!ENDIF 551 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 564!IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef" 565USE_MULTI = define 566!ENDIF 567 568!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef" 569USE_MULTI = define 570!ENDIF 571 572!IF "$(USE_MULTI)" != "undef" 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 584!IF "$(USE_MULTI)" == "define" 585ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE)-multi 586!ELSE 587ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE) 588!ENDIF 589 590!IF "$(USE_MULTI)" != "undef" 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 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 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 646.SUFFIXES : .c $(o) .nlm .lib .NLM 647 648 649# 650# various targets 651PERLIMPLIB = ..\perl.lib 652 653MINIPERL = ..\miniperl.exe 654CONFIGPM = ..\lib\Config.pm 655MINIMOD = ..\lib\ExtUtils\Miniperl.pm 656 657PL2BAT = ..\win32\bin\pl2bat.pl 658 659UTILS = \ 660 ..\utils\h2ph \ 661 ..\utils\splain \ 662 ..\utils\perlbug \ 663 ..\utils\pl2pm \ 664 ..\utils\h2xs \ 665 ..\utils\perldoc \ 666 ..\pod\pod2html \ 667 ..\pod\pod2man \ 668 ..\pod\pod2text \ 669 ..\pod\pod2usage \ 670 ..\pod\podchecker \ 671 ..\pod\podselect 672 673MAKE = nmake -nologo 674#NMAKE = $(C_COMPILER) $(INCLUDE) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@ 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) 684XSUBPP = ..\$(MINIPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp -C++ -prototypes 685 686MICROCORE_SRC = \ 687 ..\av.c \ 688 ..\deb.c \ 689 ..\doio.c \ 690 ..\doop.c \ 691 ..\dquote.c \ 692 ..\dump.c \ 693 ..\globals.c \ 694 ..\gv.c \ 695 ..\mro_core.c \ 696 ..\hv.c \ 697 ..\keywords.c \ 698 ..\locale.c \ 699 ..\mathoms.c \ 700 ..\mg.c \ 701 ..\numeric.c \ 702 ..\op.c \ 703 ..\perl.c \ 704 ..\perlapi.c \ 705 ..\perly.c \ 706 ..\pp.c \ 707 ..\pp_ctl.c \ 708 ..\pp_hot.c \ 709 ..\pp_pack.c \ 710 ..\pp_sort.c \ 711 ..\pp_sys.c \ 712 ..\reentr.c \ 713 ..\regcomp.c \ 714 ..\regexec.c \ 715 ..\run.c \ 716 ..\scope.c \ 717 ..\sv.c \ 718 ..\taint.c \ 719 ..\time64.c \ 720 ..\toke.c \ 721 ..\universal.c \ 722 ..\utf8.c \ 723 ..\util.c 724 725#EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c 726 727!IF "$(PERL_MALLOC)" == "define" 728EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c 729!ENDIF 730 731#EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c 732 733!IF "$(CRYPT_SRC)" != "" 734NW_SRC = $(NW_SRC) .\$(CRYPT_SRC) 735!ENDIF 736 737DLL_SRC = $(DYNALOADER).c 738 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 \ 749 ..\hv_func.h \ 750 ..\iperlsys.h \ 751 ..\mg.h \ 752 ..\nostdio.h \ 753 ..\op.h \ 754 ..\opcode.h \ 755 ..\perl.h \ 756 ..\perlapi.h \ 757 ..\perlsdio.h \ 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 \ 772 ..\intrpvar.h 773 774CORE_H = $(CORE_NOCFG_H) .\config.h 775 776DLL_OBJ = $(DLL_SRC:.c=.obj) 777 778DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \ 779 Data/Dumper Devel/Peek ByteLoader File/Glob \ 780 Storable/Storable List/Util MIME/Base64/Base64 XS/APItest/APItest \ 781 XS/Typemap/Typemap Unicode/Collate/Collate Unicode/Normalize/Normalize Sys/Hostname 782 783STATIC_EXT = DynaLoader 784NONXS_EXT = Errno 785 786DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader 787SOCKET = $(EXTDIR)\Socket\Socket 788FCNTL = $(EXTDIR)\Fcntl\Fcntl 789OPCODE = $(EXTDIR)\Opcode\Opcode 790SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File 791IO = $(EXTDIR)\IO\IO 792POSIX = $(EXTDIR)\POSIX\POSIX 793ATTRIBUTES = $(EXTDIR)\attributes\attributes 794B = $(EXTDIR)\B\B 795RE = $(EXTDIR)\re\re 796DUMPER = $(EXTDIR)\Data\Dumper\Dumper 797ERRNO = $(EXTDIR)\Errno\Errno 798PEEK = $(EXTDIR)\Devel\Peek\Peek 799BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader 800GLOB = $(EXTDIR)\File\Glob\Glob 801HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname 802CWD = $(EXTDIR)\Cwd\Cwd 803STORABLE = $(EXTDIR)\Storable\Storable 804LISTUTIL = $(EXTDIR)\List\Util 805MIMEBASE64 = $(EXTDIR)\MIME\Base64\Base64 806XSAPITEST = $(EXTDIR)\XS\APItest\APItest 807XSTYPEMAP = $(EXTDIR)\XS\Typemap\Typemap 808UNICODENORMALIZE = $(EXTDIR)\Unicode\Normalize\Normalize 809UNICODECOLLATE = $(EXTDIR)\Unicode\Collate\Collate 810 811ERRNO_PM_NW = $(LIBDIR)\Errno.pm 812 813EXTENSION_C = \ 814 $(SOCKET).c \ 815 $(FCNTL).c \ 816 $(OPCODE).c \ 817 $(SDBM_FILE).c \ 818 $(IO).c \ 819 $(POSIX).c \ 820 $(ATTRIBUTES).c \ 821 $(RE).c \ 822 $(DUMPER).c \ 823 $(PEEK).c \ 824 $(B).c \ 825 $(BYTELOADER).c \ 826 $(GLOB).c \ 827 $(HOSTNAME).c \ 828 $(CWD).c \ 829 $(STORABLE).c \ 830 $(LISTUTIL).c \ 831 $(MIMEBASE64).c \ 832 $(XSAPITEST).c \ 833 $(XSTYPEMAP).c \ 834 $(UNICODENORMALIZE).c \ 835 836EXTENSION_NPM = \ 837 $(ERRNO_PM_NW) \ 838 839POD2HTML = $(PODDIR)\pod2html 840POD2MAN = $(PODDIR)\pod2man 841POD2TEXT = $(PODDIR)\pod2text 842 843# 844# Top targets 845# 846 847all : .cleanoldfiles .\nwconfig.h $(CONFIGPM) $(NLM_NAME) $(EXTENSION_NLM) $(EXTENSION_NPM) $(TEST_NLMS) $(NETWARE_EXTNS) 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 855# edit config.wc and make this target 856regen_config_h: 857 perl config_sh.PL $(NW_CFG_VARS) $(NW_CFGSH_TMPL) > ..\config.sh 858 cd .. 859 -del /f /q perl.exe 860 perl configpm 861 cd netware 862 -del /f /q $(NW_CFGH_TMPL) 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) 876 @echo CONFIGPM Done 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 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 889 @copy << stdio.h >\nul 890 891/* 892 * Copyright (C) 2000-01 Novell, Inc. All Rights Reserved. 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 904 * all the perl extension nlm's (*.NLM) use the Novell Netware CLIB versions 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 926 @copy << string.h >\nul 927 928/* 929 * Copyright (C) 2000-01 Novell, Inc. All Rights Reserved. 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 941 * all the perl extension nlm's (*.NLM) use the Novell Netware CLIB versions 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 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) 966 @echo======= Linking $@ at $(MAKEDIR)\$(BLDDIR) ======= 967# Linker definitions and lining come here for CODEWARRIOR 968 @echo $(BASE_IMPORT_FILES) > $*.def 969 @echo MODULE clib >> $*.def 970 @echo MODULE netdb >> $*.def 971!ifdef SECURITYBASE 972 @echo MODULE nwsec >> $*.def 973!endif #!ifdef SECURITYBASE 974 @echo $(EXPORTS) >> $*.def 975!ifdef USE_XDC 976 @echo======= Creating XDC file 977 @echo Import Mp.imp >> $*.def 978!ifdef NLM_NAME8 979 $(MPKTOOL) $(XDCFLAGS) $(BLDDIR)\$(NLM_NAME8).xdc 980 @echo xdcdata $(BLDDIR)\$(NLM_NAME8).xdc >> $*.def 981!else 982 $(MPKTOOL) $(XDCFLAGS) $(BLDDIR)\$(NLM_NAME).xdc 983 @echo xdcdata $(BLDDIR)\$(NLM_NAME).xdc >> $*.def 984!endif 985!endif 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)\$@ 988 copy splittree.pl .. 989 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) 990 @echo ========Linked $@ ========== 991 992 @echo======= Finished building $(BUILT). 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. 999 1000MESSAGE: 1001 @echo======= $(MAKE_ACTION)ing $(NLM_NAME) at $(MAKEDIR)\$(BLDDIR) ======= 1002 1003$(PERLIMPLIB): perllib.imp 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 1009 1010perllib.imp : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl 1011# $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=def $(ADD_BUILDOPT) \ 1012# CCTYPE=$(CCTYPE) TARG_DIR=..\ > perllib.def 1013 @echo (Perl) > perl.imp 1014 $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=imp $(BS_CFLAGS) $(DEFINES) $(ADD_BUILDOPT) \ 1015 CCTYPE=$(CCTYPE) TARG_DIR=..\ >> perl.imp 1016 copy perl.imp $(COREDIR) 1017 1018$(DLL_OBJ) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c 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. 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 1035 @echo Dynaloader Done 1036 1037 1038$(PERL_IO_OBJ_DEP) : ..\$(*F).c 1039 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1040 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) ..\$(*F).c -o $@ 1041 @echo Built $(@) 1042 1043$(NLM_OBJ) : ..\$(*F).c 1044 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1045 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) ..\$(*F).c -o $@ 1046 @echo Built $(@) 1047 1048 1049$(NEWTARE_OBJ_DEP) : $(NW_H_FILES) $(NW_HOST_H_FILES) $(*F).c 1050 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1051 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@ 1052 @echo Built $(@) 1053 1054$(NEWTARE_CPP_OBJ_DEP) : $(NW_H_FILES) $(NW_HOST_H_FILES) $(*F).cpp 1055 @echo $(MPKMESSAGE) $(BLDMESG) $@ 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) 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 : 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 1074 -rmdir /s /q $(AUTODIR) 1075 -rmdir /s /q $(COREDIR) 1076 -del /f /q ..\lib\core 1077 1078.\nwconfig.h : $(NW_CFGH_TMPL) 1079 @if exist .\config.h del /f /q .\config.h 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 .. 1087# del /f /q config.sh 1088# rename nwconfig.sh config.sh 1089# cd netware 1090 1091config.nw5 : $(NW_CFGSH_TMPL) 1092 copy $(NW_CFGSH_TMPL) config.nw5 1093 1094$(SOCKET_NLM): $(NLM_NAME) $(SOCKET).xs 1095 cd $(EXTDIR)\$(*B) 1096 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1097 $(MAKE) 1098 cd ..\..\netware 1099 1100$(HOSTNAME_NLM): $(NLM_NAME) $(HOSTNAME).xs 1101 cd $(EXTDIR)\Sys\$(*B) 1102 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1103 $(MAKE) 1104 cd ..\..\..\netware 1105 1106$(FCNTL_NLM): 1107 cd $(EXTDIR)\$(*B) 1108 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1109 $(MAKE) 1110 cd ..\..\netware 1111 1112$(IO_NLM): 1113 cd $(EXTDIR)\$(*B) 1114 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1115 $(MAKE) 1116 cd ..\..\netware 1117 1118$(OPCODE_NLM): 1119 cd $(EXTDIR)\$(*B) 1120 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1121 $(MAKE) 1122 cd ..\..\netware 1123 1124$(B_NLM): 1125 cd $(EXTDIR)\$(*B) 1126 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1127 $(MAKE) 1128 cd ..\..\netware 1129 1130$(DUMPER_NLM): 1131 cd $(EXTDIR)\Data\$(*B) 1132 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1133 $(MAKE) 1134 cd ..\..\..\netware 1135 1136$(PEEK_NLM): 1137 cd $(EXTDIR)\Devel\$(*B) 1138 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1139 $(MAKE) 1140 cd ..\..\..\netware 1141 1142$(RE_NLM): 1143 cd $(EXTDIR)\$(*B) 1144 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1145 $(MAKE) 1146 cd ..\..\netware 1147 1148$(BYTELOADER_NLM): 1149 cd $(EXTDIR)\$(*B) 1150 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1151 $(MAKE) 1152 cd ..\..\netware 1153 1154$(GLOB_NLM): 1155 cd $(EXTDIR)\File\$(*B) 1156 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1157 $(MAKE) 1158 cd ..\..\..\netware 1159 1160$(POSIX_NLM): 1161 cd $(EXTDIR)\$(*B) 1162 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1163 $(MAKE) 1164 cd ..\..\netware 1165 1166$(ATTRIBUTES_NLM): 1167 cd $(EXTDIR)\$(*B) 1168 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1169 $(MAKE) 1170 cd ..\..\netware 1171 1172$(SDBM_FILE_NLM): 1173 cd $(EXTDIR)\$(*B) 1174 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1175 $(MAKE) 1176 cd ..\..\netware 1177 1178$(CWD_NLM): 1179 cd $(EXTDIR)\$(*B) 1180 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1181 $(MAKE) 1182 cd ..\..\netware 1183 1184$(STORABLE_NLM): 1185 cd $(EXTDIR)\$(*B) 1186 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1187 $(MAKE) 1188 cd ..\..\netware 1189 1190$(LISTUTIL_NLM): 1191 cd $(EXTDIR)\List\$(*B) 1192 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1193 $(MAKE) 1194 cd ..\..\..\netware 1195 1196$(MIMEBASE64_NLM): 1197 cd $(EXTDIR)\Mime\$(*B) 1198 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1199 $(MAKE) 1200 cd ..\..\..\netware 1201 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 1208$(XSTYPEMAP_NLM): 1209 cd $(EXTDIR)\XS\$(*B) 1210 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1211 $(MAKE) 1212 cd ..\..\..\netware 1213 1214$(UNICODENORMALIZE_NLM): 1215 cd $(EXTDIR)\Unicode\$(*B) 1216 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1217 $(MAKE) 1218 cd ..\..\..\netware 1219 1220 1221$(ERRNO_PM_NW): 1222# @echo Building $@ 1223 cd $(EXTDIR)\$(*B) 1224 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1225 $(MAKE) 1226 cd ..\..\netware 1227 1228$(ECHO_SRC_OBJ): $*.c 1229 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1230 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@ 1231 @echo Built $(@) 1232 1233$(ECHO_NLM): $(ECHO_SRC_OBJ) 1234 @echo======= Linking $@ ======= 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 1239!ifdef USE_XDC 1240 $(MPKTOOL) $(XDCFLAGS) $*.xdc 1241 @echo Import @MP.imp >> $*.def 1242 @echo xdcdata $*.xdc >> $*.def 1243!endif 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 $@ 1246 @echo======= Linking Complete ======= 1247 1248$(TYPE_SRC_OBJ): $*.c 1249 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1250 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@ 1251 @echo Built $(@) 1252 1253$(TYPE_NLM): $(TYPE_SRC_OBJ) 1254 @echo======= Linking $@ ======= 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 1259!ifdef USE_XDC 1260 $(MPKTOOL) $(XDCFLAGS) $*.xdc 1261 @echo Import @MP.imp >> $*.def 1262 @echo xdcdata $*.xdc >> $*.def 1263!endif 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 $@ 1266 @echo======= Linking Complete ======= 1267 1268 1269# Build NetWare specific extensions 1270$(CGI2PERL_NLM): 1271!if "$(NW_EXTNS)"=="yes" 1272 cd $(*B) 1273 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl 1274 $(MAKE) 1275 cd ..\..\netware 1276!endif 1277 1278$(PERL2UCS_NLM): 1279!if "$(NW_EXTNS)"=="yes" 1280 cd $(*B) 1281 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl 1282 $(MAKE) 1283 cd ..\..\netware 1284!endif 1285 1286$(UCSExt_NLM): 1287!if "$(NW_EXTNS)"=="yes" 1288 cd $(*B) 1289 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl 1290 $(MAKE) 1291 cd ..\..\netware 1292!endif 1293 1294nwclean: 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 1299 @if exist .\config.h del /f /q .\config.h 1300 @if exist .\config.nw5 del /f /q .\config.nw5 1301 @if exist .\perl.imp del /f /q .\perl.imp 1302 -del /f /q *.obj *.lib *.def *.sym *.map *.xdc *.err *.nlm 1303 cd testnlm\echo 1304 -del /f /q *.obj *.map *.link *.options *.nlm *.sym *.xdc *.err *.lib *.def *.pdb *.bs 1305 cd ..\type 1306 -del /f /q *.obj *.map *.link *.options *.nlm *.sym *.xdc *.err *.lib *.def *.pdb *.bs 1307 cd ..\..\ 1308 1309utils: $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT) 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 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 1322 1323 cd ..\netware 1324 $(MINIPERL) $(PL2BAT) $(UTILS) 1325 1326distclean: clean nwclean 1327 -del /f /q $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD) 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 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 1334 -del /f /q $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm 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 1341 -del /f /q $(LIBDIR)\Devel\Peek.pm 1342 -del /f /q $(LIBDIR)\File\Glob.pm 1343 -del /f /q $(LIBDIR)\Unicode\Normalize.pm 1344 -del /f /q $(LIBDIR)\Unicode\Collate.pm 1345 -rmdir /s /q $(LIBDIR)\IO 1346 -rmdir /s /q $(LIBDIR)\B 1347 -rmdir /s /q $(LIBDIR)\Data 1348 -del /f /q $(PODDIR)\*.html 1349 -del /f /q $(PODDIR)\*.bat 1350 cd ..\utils 1351 -del /f /q h2ph splain perlbug pl2pm h2xs perldoc 1352 -del /f /q *.bat 1353 cd ..\netware 1354 -del /f /q ..\config.sh ..\splittree.pl dlutils.c config.h.new 1355 -del /f /q $(CONFIGPM) 1356 -del /f /q bin\*.bat 1357 cd $(EXTDIR) 1358 -del /s /q /f *.lib *.def *.map *.pdb *.bs Makefile *$(o) pm_to_blib *.xdc *.err *.obj *.sym 1359 cd ..\netware 1360!if "$(NW_EXTNS)"=="yes" 1361 cd cgi2perl 1362 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.def *.lib *.pdb 1363 cd .. 1364 cd Perl2UCS 1365 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.def *.lib *.pdb 1366 cd ..\..\netware 1367 cd UCSExt 1368 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.c 1369 cd ..\..\netware 1370!endif 1371 -rmdir /s /q $(AUTODIR) 1372 -rmdir /s /q $(COREDIR) 1373 -del /f /q ..\config.sh 1374 1375installwin: 1376 $(MINIPERL) -I..\lib ..\installperl 1377 1378install : utils installwin perlimp 1379 1380perlimp : 1381 copy perl.imp $(INST_COREDIR) 1382 1383installnw: 1384 $(MINIPERL) -I..\lib ..\installperl -netware 1385 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 1393 cd ..\netware\t 1394 xcopy /f /r /i /s /d *.pl $(INST_NW_TOP2)\scripts\t 1395 cd .. 1396 1397nwinstall: utils installnw install_tests 1398 1399inst_lib : $(CONFIGPM) 1400 copy ..\win32\splittree.pl .. 1401 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) 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 1410