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.34.0 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.34.0 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# 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 ..\perly.c \ 705 ..\pp.c \ 706 ..\pp_ctl.c \ 707 ..\pp_hot.c \ 708 ..\pp_pack.c \ 709 ..\pp_sort.c \ 710 ..\pp_sys.c \ 711 ..\reentr.c \ 712 ..\regcomp.c \ 713 ..\regexec.c \ 714 ..\run.c \ 715 ..\scope.c \ 716 ..\sv.c \ 717 ..\taint.c \ 718 ..\time64.c \ 719 ..\toke.c \ 720 ..\universal.c \ 721 ..\utf8.c \ 722 ..\util.c 723 724#EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c 725 726!IF "$(PERL_MALLOC)" == "define" 727EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c 728!ENDIF 729 730#EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c 731 732!IF "$(CRYPT_SRC)" != "" 733NW_SRC = $(NW_SRC) .\$(CRYPT_SRC) 734!ENDIF 735 736DLL_SRC = $(DYNALOADER).c 737 738CORE_NOCFG_H = \ 739 ..\av.h \ 740 ..\cop.h \ 741 ..\cv.h \ 742 ..\dosish.h \ 743 ..\embed.h \ 744 ..\form.h \ 745 ..\gv.h \ 746 ..\handy.h \ 747 ..\hv.h \ 748 ..\hv_func.h \ 749 ..\iperlsys.h \ 750 ..\mg.h \ 751 ..\nostdio.h \ 752 ..\op.h \ 753 ..\opcode.h \ 754 ..\perl.h \ 755 ..\perlapi.h \ 756 ..\perlsdio.h \ 757 ..\perly.h \ 758 ..\pp.h \ 759 ..\proto.h \ 760 ..\regexp.h \ 761 ..\scope.h \ 762 ..\sv.h \ 763 ..\thread.h \ 764 ..\unixish.h \ 765 ..\utf8.h \ 766 ..\util.h \ 767 ..\warnings.h \ 768 ..\XSUB.h \ 769 ..\EXTERN.h \ 770 ..\perlvars.h \ 771 ..\intrpvar.h 772 773CORE_H = $(CORE_NOCFG_H) .\config.h 774 775DLL_OBJ = $(DLL_SRC:.c=.obj) 776 777DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \ 778 Data/Dumper Devel/Peek ByteLoader File/Glob \ 779 Storable/Storable List/Util MIME/Base64/Base64 XS/APItest/APItest \ 780 XS/Typemap/Typemap Unicode/Collate/Collate Unicode/Normalize/Normalize Sys/Hostname 781 782STATIC_EXT = DynaLoader 783NONXS_EXT = Errno 784 785DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader 786SOCKET = $(EXTDIR)\Socket\Socket 787FCNTL = $(EXTDIR)\Fcntl\Fcntl 788OPCODE = $(EXTDIR)\Opcode\Opcode 789SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File 790IO = $(EXTDIR)\IO\IO 791POSIX = $(EXTDIR)\POSIX\POSIX 792ATTRIBUTES = $(EXTDIR)\attributes\attributes 793B = $(EXTDIR)\B\B 794RE = $(EXTDIR)\re\re 795DUMPER = $(EXTDIR)\Data\Dumper\Dumper 796ERRNO = $(EXTDIR)\Errno\Errno 797PEEK = $(EXTDIR)\Devel\Peek\Peek 798BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader 799GLOB = $(EXTDIR)\File\Glob\Glob 800HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname 801CWD = $(EXTDIR)\Cwd\Cwd 802STORABLE = $(EXTDIR)\Storable\Storable 803LISTUTIL = $(EXTDIR)\List\Util 804MIMEBASE64 = $(EXTDIR)\MIME\Base64\Base64 805XSAPITEST = $(EXTDIR)\XS\APItest\APItest 806XSTYPEMAP = $(EXTDIR)\XS\Typemap\Typemap 807UNICODENORMALIZE = $(EXTDIR)\Unicode\Normalize\Normalize 808UNICODECOLLATE = $(EXTDIR)\Unicode\Collate\Collate 809 810ERRNO_PM_NW = $(LIBDIR)\Errno.pm 811 812EXTENSION_C = \ 813 $(SOCKET).c \ 814 $(FCNTL).c \ 815 $(OPCODE).c \ 816 $(SDBM_FILE).c \ 817 $(IO).c \ 818 $(POSIX).c \ 819 $(ATTRIBUTES).c \ 820 $(RE).c \ 821 $(DUMPER).c \ 822 $(PEEK).c \ 823 $(B).c \ 824 $(BYTELOADER).c \ 825 $(GLOB).c \ 826 $(HOSTNAME).c \ 827 $(CWD).c \ 828 $(STORABLE).c \ 829 $(LISTUTIL).c \ 830 $(MIMEBASE64).c \ 831 $(XSAPITEST).c \ 832 $(XSTYPEMAP).c \ 833 $(UNICODENORMALIZE).c \ 834 835EXTENSION_NPM = \ 836 $(ERRNO_PM_NW) \ 837 838POD2HTML = $(PODDIR)\pod2html 839POD2MAN = $(PODDIR)\pod2man 840POD2TEXT = $(PODDIR)\pod2text 841 842# 843# Top targets 844# 845 846all : .cleanoldfiles .\nwconfig.h $(CONFIGPM) $(NLM_NAME) $(EXTENSION_NLM) $(EXTENSION_NPM) $(TEST_NLMS) $(NETWARE_EXTNS) 847 848#------------------------------------------------------------ 849 850..\config.sh : config.nw5 $(MINIPERL) config_sh.PL 851 $(MINIPERL) -I..\lib config_sh.PL $(NW_CFG_VARS) config.nw5 > ..\config.sh 852 853# this target is for when changes to the main config.sh happen 854# edit config.wc and make this target 855regen_config_h: 856 perl config_sh.PL $(NW_CFG_VARS) $(NW_CFGSH_TMPL) > ..\config.sh 857 cd .. 858 -del /f /q perl.exe 859 perl configpm 860 cd netware 861 -del /f /q $(NW_CFGH_TMPL) 862 -mkdir $(COREDIR) 863 -perl -I..\lib config_h.PL "INST_VER=$(INST_VER)" 864 rename config.h $(NW_CFGH_TMPL) 865 866$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl 867 cd .. && miniperl configpm 868 if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) 869 $(XCOPY) ..\*.h $(COREDIR)\*.* 870 $(XCOPY) *.h $(COREDIR)\*.* 871 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.* 872 if exist include\* $(RCOPY) include $(COREDIR)\*.* 873 $(MINIPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)" \ 874 || $(MAKE) /$(MAKEFLAGS) $(CONFIGPM) 875 @echo CONFIGPM Done 876 877$(MINIPERL) : 878 $(error)Please build $(MINIPERL) before continuing 879 880$(MINIMOD) : $(MINIPERL) ..\minimod.pl 881 cd .. && miniperl minimod.pl > lib\ExtUtils\Miniperl.pm 882 883$(EXTDIR)\DynaLoader\dl_netware.xs: dl_netware.xs 884 copy dl_netware.xs $(EXTDIR)\DynaLoader\dl_netware.xs 885 886HEADERS : 887 @echo . . . . making stdio.h and string.h 888 @copy << stdio.h >\nul 889 890/* 891 * Copyright (C) 2000-01 Novell, Inc. All Rights Reserved. 892 * 893 * You may distribute under the terms of either the GNU General Public 894 * License or the Artistic License, as specified in the README file. 895 * 896 */ 897 898/* 899 * FILENAME : stdio.h 900 * DESCRIPTION : Generated header file, do not edit. See makefile. 901 * This header file causes the includer to use clibstuf.h 902 * The purpose of clibstuf is to make sure that Perl, cgi2perl and 903 * all the perl extension nlm's (*.NLM) use the Novell Netware CLIB versions 904 * of standard functions. This code loads up a whole bunch of function pointers 905 * to point at the standard CLIB functions. 906 * Author : HYAK 907 * Date : January 2001. 908 * 909 */ 910 911 912#ifndef __Stdio_H__ 913#define __Stdio_H__ 914 915 916#include "$(NLMSDKBASE)\INCLUDE\NLM\stdio.h" 917#include "clibsdio.h" 918 919 920#endif // __Stdio_H__ 921 922<< 923 @copy stdio.h $(COREDIR) 924 925 @copy << string.h >\nul 926 927/* 928 * Copyright (C) 2000-01 Novell, Inc. All Rights Reserved. 929 * 930 * You may distribute under the terms of either the GNU General Public 931 * License or the Artistic License, as specified in the README file. 932 * 933 */ 934 935/* 936 * FILENAME : string.h 937 * DESCRIPTION : Generated header file, do not edit. See makefile. 938 * This header file causes the includer to use clibstuf.h 939 * The purpose of clibstuf is to make sure that Perl, cgi2perl and 940 * all the perl extension nlm's (*.NLM) use the Novell Netware CLIB versions 941 * of standard functions. This code loads up a whole bunch of function pointers 942 * to point at the standard CLIB functions. 943 * Author : HYAK 944 * Date : January 2001. 945 * 946 */ 947 948 949#ifndef __String_H__ 950#define __String_H__ 951 952 953#include "$(NLMSDKBASE)\INCLUDE\NLM\string.h" 954#include "clibstr.h" 955 956 957#endif // __String_H__ 958 959<< 960 @copy string.h $(COREDIR) 961 962 963$(NLM_NAME): MESSAGE HEADERS $(BLDDIR)\nul $(NLM_OBJ) $(NEWTARE_OBJ_DEP) $(NEWTARE_CPP_OBJ_DEP) $(PERL_IO_OBJ_DEP) $(DLL_OBJ) \ 964 $(PERLIMPLIB) $(EXT_MAIN_OBJ) $(PERL_TEMP_OBJ) #$(PERL_LIB_OBJ) 965 @echo======= Linking $@ at $(MAKEDIR)\$(BLDDIR) ======= 966# Linker definitions and lining come here for CODEWARRIOR 967 @echo $(BASE_IMPORT_FILES) > $*.def 968 @echo MODULE clib >> $*.def 969 @echo MODULE netdb >> $*.def 970!ifdef SECURITYBASE 971 @echo MODULE nwsec >> $*.def 972!endif #!ifdef SECURITYBASE 973 @echo $(EXPORTS) >> $*.def 974!ifdef USE_XDC 975 @echo======= Creating XDC file 976 @echo Import Mp.imp >> $*.def 977!ifdef NLM_NAME8 978 $(MPKTOOL) $(XDCFLAGS) $(BLDDIR)\$(NLM_NAME8).xdc 979 @echo xdcdata $(BLDDIR)\$(NLM_NAME8).xdc >> $*.def 980!else 981 $(MPKTOOL) $(XDCFLAGS) $(BLDDIR)\$(NLM_NAME).xdc 982 @echo xdcdata $(BLDDIR)\$(NLM_NAME).xdc >> $*.def 983!endif 984!endif 985## $(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)\$@ 986 $(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)\$@ 987 copy splittree.pl .. 988 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) 989 @echo ========Linked $@ ========== 990 991 @echo======= Finished building $(BUILT). 992 993# Create the debug or release directory if not existing 994$(BLDDIR)\nul: 995 @echo . . . . mkdir $(BLDDIR) 996 @mkdir $(BLDDIR) 997 @echo '$(BLDDIR)' directory created. 998 999MESSAGE: 1000 @echo======= $(MAKE_ACTION)ing $(NLM_NAME) at $(MAKEDIR)\$(BLDDIR) ======= 1001 1002$(PERLIMPLIB): perllib.imp 1003# @echo Building $(PERLIMPLIB)... 1004# $(LD) -type library $(NLM_OBJ) $(BLDDIR)\nw5.obj $(BLDDIR)\nwmain.obj $(BLDDIR)\nw5thread.obj $(BLDDIR)\nwtinfo.obj \ 1005# $(BLDDIR)\nwutil.obj $(BLDDIR)\interface.obj $(BLDDIR)\perllib.obj $(PERL_IO_OBJ_DEP) $(DLL_OBJ) -o $@ 1006# $(XCOPY) $(PERLIMPLIB) $(COREDIR) 1007# @echo $(PERLIMPLIB) Done 1008 1009perllib.imp : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl 1010# $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=def $(ADD_BUILDOPT) \ 1011# CCTYPE=$(CCTYPE) TARG_DIR=..\ > perllib.def 1012 @echo (Perl) > perl.imp 1013 $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=imp $(BS_CFLAGS) $(DEFINES) $(ADD_BUILDOPT) \ 1014 CCTYPE=$(CCTYPE) TARG_DIR=..\ >> perl.imp 1015 copy perl.imp $(COREDIR) 1016 1017$(DLL_OBJ) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c 1018 @echo $(MPKMESSAGE)...$(BLDMESG)...$@ 1019 @$(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) -I$(EXTDIR)\DynaLoader \ 1020 $(EXTDIR)\DynaLoader\$(*F).c -o $@ 1021 @echo $(@) Done. 1022 1023$(DYNALOADER).c : $(MINIPERL) $(EXTDIR)\DynaLoader\dl_netware.xs $(CONFIGPM) 1024 if not exist $(AUTODIR) mkdir $(AUTODIR) 1025 cd $(EXTDIR)\$(*B) 1026 ..\$(MINIPERL) -I..\..\lib $(*B)_pm.PL 1027 ..\$(MINIPERL) -I..\..\lib XSLoader_pm.PL 1028 cd ..\..\netware 1029 $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL) 1030 $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL) 1031 cd $(EXTDIR)\$(*B) 1032 $(XSUBPP) dl_netware.xs > $(*B).c 1033 cd ..\..\netware 1034 @echo Dynaloader Done 1035 1036 1037$(PERL_IO_OBJ_DEP) : ..\$(*F).c 1038 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1039 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) ..\$(*F).c -o $@ 1040 @echo Built $(@) 1041 1042$(NLM_OBJ) : ..\$(*F).c 1043 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1044 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) ..\$(*F).c -o $@ 1045 @echo Built $(@) 1046 1047 1048$(NEWTARE_OBJ_DEP) : $(NW_H_FILES) $(NW_HOST_H_FILES) $(*F).c 1049 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1050 $(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@ 1051 @echo Built $(@) 1052 1053$(NEWTARE_CPP_OBJ_DEP) : $(NW_H_FILES) $(NW_HOST_H_FILES) $(*F).cpp 1054 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1055 $(C_COMPILER) $(CWCPPFLAGS) $(COMPLER_FLAGS) $(NLM_INCLUDES) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).cpp -o $@ 1056 @echo Built $(@) 1057 1058$(EXT_MAIN_OBJ) : $(CLIB_H_FILES) 1059 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1060 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@ 1061 $(LD) -type library $@ -o $*.lib 1062 @copy $*.lib $(COREDIR) 1063 1064# Delete any files that might have got created during building miniperl.exe 1065# config.sh will definitely be created 1066# COREDIR might have got created 1067.cleanoldfiles : 1068 -del /f /q $(PERLIMPLIB) 1069 -del /f /q ..\lib\config.pm 1070 -del /f /q ..\config.sh 1071 -del /f /q .\Main.obj 1072 -del /f /q .\Main.lib 1073 -rmdir /s /q $(AUTODIR) 1074 -rmdir /s /q $(COREDIR) 1075 -del /f /q ..\lib\core 1076 1077.\nwconfig.h : $(NW_CFGH_TMPL) 1078 @if exist .\config.h del /f /q .\config.h 1079 copy $(NW_CFGH_TMPL) config.h 1080 1081# REQUIRED WHEN WE INCLUDE CONFIGPM OR REGEN_CONFIG - sgp 1082#..\nwconfig.sh : config.nw5 $(MINIPERL) config_sh.PL 1083# $(MINIPERL) -I..\lib config_sh.PL $(NW_CFG_VARS) config.nw5 > ..\config.sh 1084# @pause 1085# cd .. 1086# del /f /q config.sh 1087# rename nwconfig.sh config.sh 1088# cd netware 1089 1090config.nw5 : $(NW_CFGSH_TMPL) 1091 copy $(NW_CFGSH_TMPL) config.nw5 1092 1093$(SOCKET_NLM): $(NLM_NAME) $(SOCKET).xs 1094 cd $(EXTDIR)\$(*B) 1095 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1096 $(MAKE) 1097 cd ..\..\netware 1098 1099$(HOSTNAME_NLM): $(NLM_NAME) $(HOSTNAME).xs 1100 cd $(EXTDIR)\Sys\$(*B) 1101 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1102 $(MAKE) 1103 cd ..\..\..\netware 1104 1105$(FCNTL_NLM): 1106 cd $(EXTDIR)\$(*B) 1107 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1108 $(MAKE) 1109 cd ..\..\netware 1110 1111$(IO_NLM): 1112 cd $(EXTDIR)\$(*B) 1113 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1114 $(MAKE) 1115 cd ..\..\netware 1116 1117$(OPCODE_NLM): 1118 cd $(EXTDIR)\$(*B) 1119 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1120 $(MAKE) 1121 cd ..\..\netware 1122 1123$(B_NLM): 1124 cd $(EXTDIR)\$(*B) 1125 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1126 $(MAKE) 1127 cd ..\..\netware 1128 1129$(DUMPER_NLM): 1130 cd $(EXTDIR)\Data\$(*B) 1131 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1132 $(MAKE) 1133 cd ..\..\..\netware 1134 1135$(PEEK_NLM): 1136 cd $(EXTDIR)\Devel\$(*B) 1137 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1138 $(MAKE) 1139 cd ..\..\..\netware 1140 1141$(RE_NLM): 1142 cd $(EXTDIR)\$(*B) 1143 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1144 $(MAKE) 1145 cd ..\..\netware 1146 1147$(BYTELOADER_NLM): 1148 cd $(EXTDIR)\$(*B) 1149 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1150 $(MAKE) 1151 cd ..\..\netware 1152 1153$(GLOB_NLM): 1154 cd $(EXTDIR)\File\$(*B) 1155 ..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1156 $(MAKE) 1157 cd ..\..\..\netware 1158 1159$(POSIX_NLM): 1160 cd $(EXTDIR)\$(*B) 1161 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1162 $(MAKE) 1163 cd ..\..\netware 1164 1165$(ATTRIBUTES_NLM): 1166 cd $(EXTDIR)\$(*B) 1167 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1168 $(MAKE) 1169 cd ..\..\netware 1170 1171$(SDBM_FILE_NLM): 1172 cd $(EXTDIR)\$(*B) 1173 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1174 $(MAKE) 1175 cd ..\..\netware 1176 1177$(CWD_NLM): 1178 cd $(EXTDIR)\$(*B) 1179 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1180 $(MAKE) 1181 cd ..\..\netware 1182 1183$(STORABLE_NLM): 1184 cd $(EXTDIR)\$(*B) 1185 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1186 $(MAKE) 1187 cd ..\..\netware 1188 1189$(LISTUTIL_NLM): 1190 cd $(EXTDIR)\List\$(*B) 1191 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1192 $(MAKE) 1193 cd ..\..\..\netware 1194 1195$(MIMEBASE64_NLM): 1196 cd $(EXTDIR)\Mime\$(*B) 1197 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1198 $(MAKE) 1199 cd ..\..\..\netware 1200 1201$(XSAPITEST_NLM): 1202 cd $(EXTDIR)\XS\$(*B) 1203 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1204 $(MAKE) 1205 cd ..\..\..\netware 1206 1207$(XSTYPEMAP_NLM): 1208 cd $(EXTDIR)\XS\$(*B) 1209 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1210 $(MAKE) 1211 cd ..\..\..\netware 1212 1213$(UNICODENORMALIZE_NLM): 1214 cd $(EXTDIR)\Unicode\$(*B) 1215 ..\..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1216 $(MAKE) 1217 cd ..\..\..\netware 1218 1219 1220$(ERRNO_PM_NW): 1221# @echo Building $@ 1222 cd $(EXTDIR)\$(*B) 1223 ..\..\miniperl -I..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl 1224 $(MAKE) 1225 cd ..\..\netware 1226 1227$(ECHO_SRC_OBJ): $*.c 1228 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1229 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@ 1230 @echo Built $(@) 1231 1232$(ECHO_NLM): $(ECHO_SRC_OBJ) 1233 @echo======= Linking $@ ======= 1234# Linker definitions and lining come here for CODEWARRIOR 1235 @echo $(BASE_IMPORT_FILES) > $*.def 1236 @echo MODULE clib >> $*.def 1237 @echo Import @perl.imp >> $*.def 1238!ifdef USE_XDC 1239 $(MPKTOOL) $(XDCFLAGS) $*.xdc 1240 @echo Import @MP.imp >> $*.def 1241 @echo xdcdata $*.xdc >> $*.def 1242!endif 1243## $(LINK) $(LDFLAGS) $(BS_CFLAGS) -desc "DOS Echo emulation for Perl testing" $(ECHO_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@ 1244 $(LINK) $(LDFLAGS) -desc "DOS Echo emulation for Perl testing" $(ECHO_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@ 1245 @echo======= Linking Complete ======= 1246 1247$(TYPE_SRC_OBJ): $*.c 1248 @echo $(MPKMESSAGE) $(BLDMESG) $@ 1249 $(C_COMPILER) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@ 1250 @echo Built $(@) 1251 1252$(TYPE_NLM): $(TYPE_SRC_OBJ) 1253 @echo======= Linking $@ ======= 1254# Linker definitions and lining come here for CODEWARRIOR 1255 @echo $(BASE_IMPORT_FILES) > $*.def 1256 @echo MODULE clib >> $*.def 1257 @echo Import @perl.imp >> $*.def 1258!ifdef USE_XDC 1259 $(MPKTOOL) $(XDCFLAGS) $*.xdc 1260 @echo Import @MP.imp >> $*.def 1261 @echo xdcdata $*.xdc >> $*.def 1262!endif 1263## $(LINK) $(LDFLAGS) $(BS_CFLAGS) -desc "DOS Type emulation for Perl testing" $(TYPE_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@ 1264 $(LINK) $(LDFLAGS) -desc "DOS Type emulation for Perl testing" $(TYPE_SRC_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@ 1265 @echo======= Linking Complete ======= 1266 1267 1268# Build NetWare specific extensions 1269$(CGI2PERL_NLM): 1270!if "$(NW_EXTNS)"=="yes" 1271 cd $(*B) 1272 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl 1273 $(MAKE) 1274 cd ..\..\netware 1275!endif 1276 1277$(PERL2UCS_NLM): 1278!if "$(NW_EXTNS)"=="yes" 1279 cd $(*B) 1280 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl 1281 $(MAKE) 1282 cd ..\..\netware 1283!endif 1284 1285$(UCSExt_NLM): 1286!if "$(NW_EXTNS)"=="yes" 1287 cd $(*B) 1288 ..\..\miniperl -I..\..\lib Makefile.PL "CCCDLFLAGS=-bool on -lang c++" PERL_CORE=1 INSTALLDIRS=perl 1289 $(MAKE) 1290 cd ..\..\netware 1291!endif 1292 1293nwclean: 1294 -rmdir /s /q $(REL_DIR) 1295 -rmdir /s /q $(DEB_DIR) 1296 @if exist .\stdio.h del /f /q .\stdio.h 1297 @if exist .\string.h del /f /q .\string.h 1298 @if exist .\config.h del /f /q .\config.h 1299 @if exist .\config.nw5 del /f /q .\config.nw5 1300 @if exist .\perl.imp del /f /q .\perl.imp 1301 -del /f /q *.obj *.lib *.def *.sym *.map *.xdc *.err *.nlm 1302 cd testnlm\echo 1303 -del /f /q *.obj *.map *.link *.options *.nlm *.sym *.xdc *.err *.lib *.def *.pdb *.bs 1304 cd ..\type 1305 -del /f /q *.obj *.map *.link *.options *.nlm *.sym *.xdc *.err *.lib *.def *.pdb *.bs 1306 cd ..\..\ 1307 1308utils: $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT) 1309 cd ..\utils 1310 $(MAKE) PERL=$(MINIPERL) 1311 cd ..\pod 1312 copy ..\README.amiga .\perlamiga.pod 1313 copy ..\README.cygwin .\perlcygwin.pod 1314 copy ..\README.dos .\perldos.pod 1315 copy ..\README.hpux .\perlhpux.pod 1316 copy ..\README.os2 .\perlos2.pod 1317 copy ..\vms\perlvms.pod .\perlvms.pod 1318 copy ..\README.win32 .\perlwin32.pod 1319 copy ..\README.netware .\perlnw5.pod 1320 $(MAKE) -f ..\win32\pod.mak converters 1321 1322 cd ..\netware 1323 $(MINIPERL) $(PL2BAT) $(UTILS) 1324 1325distclean: clean nwclean 1326 -del /f /q $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD) 1327 -del /f /q $(EXTENSION_NPM) 1328 -del /f /q $(EXTENSION_C) $(DYNALOADER).c $(ERRNO).pm 1329 -del /f /q $(EXTDIR)\DynaLoader\dl_netware.xs 1330 -del /f /q $(EXTDIR)\DynaLoader\dl_win32.xs 1331 -del /f /q $(EXTDIR)\DynaLoader\DynaLoader.pm 1332 -del /f /q $(EXTDIR)\DynaLoader\XSLoader.pm 1333 -del /f /q $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm 1334 -del /f /q $(LIBDIR)\XSLoader.pm 1335 -del /f /q $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm 1336 -del /f /q $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm 1337 -del /f /q $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm 1338 -del /f /q $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm 1339 -del /f /q $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm 1340 -del /f /q $(LIBDIR)\Devel\Peek.pm 1341 -del /f /q $(LIBDIR)\File\Glob.pm 1342 -del /f /q $(LIBDIR)\Unicode\Normalize.pm 1343 -del /f /q $(LIBDIR)\Unicode\Collate.pm 1344 -rmdir /s /q $(LIBDIR)\IO 1345 -rmdir /s /q $(LIBDIR)\B 1346 -rmdir /s /q $(LIBDIR)\Data 1347 -del /f /q $(PODDIR)\*.html 1348 -del /f /q $(PODDIR)\*.bat 1349 cd ..\utils 1350 -del /f /q h2ph splain perlbug pl2pm h2xs perldoc 1351 -del /f /q *.bat 1352 cd ..\netware 1353 -del /f /q ..\config.sh ..\splittree.pl dlutils.c config.h.new 1354 -del /f /q $(CONFIGPM) 1355 -del /f /q bin\*.bat 1356 cd $(EXTDIR) 1357 -del /s /q /f *.lib *.def *.map *.pdb *.bs Makefile *$(o) pm_to_blib *.xdc *.err *.obj *.sym 1358 cd ..\netware 1359!if "$(NW_EXTNS)"=="yes" 1360 cd cgi2perl 1361 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.def *.lib *.pdb 1362 cd .. 1363 cd Perl2UCS 1364 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.def *.lib *.pdb 1365 cd ..\..\netware 1366 cd UCSExt 1367 -del /f /q *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.c 1368 cd ..\..\netware 1369!endif 1370 -rmdir /s /q $(AUTODIR) 1371 -rmdir /s /q $(COREDIR) 1372 -del /f /q ..\config.sh 1373 1374installwin: 1375 $(MINIPERL) -I..\lib ..\installperl 1376 1377install : utils installwin perlimp 1378 1379perlimp : 1380 copy perl.imp $(INST_COREDIR) 1381 1382installnw: 1383 $(MINIPERL) -I..\lib ..\installperl -netware 1384 1385install_tests : 1386 cd ..\t 1387 xcopy /f /r /i /s /d *.* $(INST_NW_TOP2)\scripts\t 1388 cd ..\lib 1389 xcopy /f /r /i /s /d *.t $(INST_NW_TOP2)\scripts\t\lib 1390 cd ..\ext 1391 xcopy /f /r /i /s /d *.t $(INST_NW_TOP2)\scripts\t\ext 1392 cd ..\netware\t 1393 xcopy /f /r /i /s /d *.pl $(INST_NW_TOP2)\scripts\t 1394 cd .. 1395 1396nwinstall: utils installnw install_tests 1397 1398inst_lib : $(CONFIGPM) 1399 copy ..\win32\splittree.pl .. 1400 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) 1401 $(RCOPY) ..\lib $(INST_LIB)\*.* 1402 1403clean : 1404 -@erase miniperlmain$(o) 1405 -@erase /f config.h 1406 -@erase $(DLL_OBJ) 1407 -@erase ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp *.res 1408 -@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat 1409