Makefile revision 1.4
1# 2# Makefile to build perl on Windows NT using Microsoft NMAKE. 3# 4 5## 6## Make sure you read README.win32 *before* you mess with anything here! 7## 8## If you want a configuration that is the same as ActivePerl (see 9## www.ActiveState.com) make sure you set at least BUILD_FLAVOR below! 10## 11 12## 13## Build configuration. Edit the values below to suit your needs. 14## 15 16# 17# Set these to wherever you want "nmake install" to put your newly 18# built perl. Setting it to a path with spaces is NOT recommended. 19# 20INST_DRV = c: 21INST_TOP = $(INST_DRV)\perl 22 23# 24# uncomment one of the following lines if you are using either 25# Visual C++ 2.x, or Visual C++ 5.x (aka Visual Studio 97) _without_ 26# service pack 3 applied. 27# 28# If you have 5.x SP3 or later, or 6.x, no change is required. 29# 30#CCTYPE = MSVC20 31#CCTYPE = MSVC_PRE_50SP3 32 33# 34# set the install locations of the compiler include/libraries. Running 35# VCVARS32.BAT is *required* when using Visual C. Some versions of 36# Visual C earlier than 5.x SP3 don't define MSVCDIR in the environment. 37# If such is the case you may have to set CCHOME explicitly. Spaces in 38# the path name should not be quoted. 39# 40# If you have run VCVARS32.BAT and have VC 5.x SP3 or later, the defaults 41# should just work. 42# 43#CCHOME = f:\msvc20 44CCHOME = $(MSVCDIR) 45CCINCDIR = $(CCHOME)\include 46CCLIBDIR = $(CCHOME)\lib 47 48# 49# if you have the source for des_fcrypt(), uncomment CRYPT_SRC and make sure 50# the file exists (see README.win32). File should be located in the same 51# directory as this makefile. 52# 53# If you didn't set CRYPT_SRC and if you have des_fcrypt() available in a 54# library, uncomment CRYPT_LIB, and make sure the library exists (see 55# README.win32). Specify the full pathname of the library. 56# 57# If you don't enable one of these, the crypt() builtin will fail to work. 58# (Generally not critical.) 59# 60#CRYPT_SRC = fcrypt.c 61#CRYPT_LIB = fcrypt.lib 62 63# 64# uncomment this option if you want to bulk-enable all the options that 65# ActiveState uses to build their ActivePerl distribution. If you set this, 66# there should be no need to set any of the other options that follow. 67# 68# If you don't enable this, the defaults below will get you the most 69# efficient perl configuration possible that will also be compatible 70# with the build defaults used on Unix platforms. On the other hand, 71# the ActivePerl configuration will get you fork() emulation at the 72# cost of some added bloat. 73# 74#BUILD_FLAVOR = ActivePerl 75 76# 77# uncomment next line if you want debug version of perl (big and slow). 78# If not enabled, we automatically try to use maximum optimization 79# with all compilers that are known to have a working optimizer. 80# 81#CFG = Debug 82 83# 84# Comment this out if you DON'T want your perl installation to be versioned. 85# This means that the new installation will overwrite any files from the 86# old installation at the same INST_TOP location. Leaving it enabled is 87# the safest route, as perl adds the extra version directory to all the 88# locations it installs files to. If you disable it, an alternative 89# versioned installation can be obtained by setting INST_TOP above to a 90# path that includes an arbitrary version string. 91# 92INST_VER = \5.6.1 93 94# 95# Comment this out if you DON'T want your perl installation to have 96# architecture specific components. This means that architecture- 97# specific files will be installed along with the architecture-neutral 98# files. Leaving it enabled is safer and more flexible, in case you 99# want to build multiple flavors of perl and install them together in 100# the same location. Commenting it out gives you a simpler 101# installation that is easier to understand for beginners. 102# 103INST_ARCH = \$(ARCHNAME) 104 105# 106# uncomment to enable multiple interpreters. This is need for fork() 107# emulation. 108# 109#USE_MULTI = define 110 111# 112# Beginnings of interpreter cloning/threads; still very incomplete. 113# This should be enabled to get the fork() emulation. This needs 114# USE_MULTI as well. 115# 116#USE_ITHREADS = define 117 118# 119# uncomment to enable the implicit "host" layer for all system calls 120# made by perl. This needs USE_MULTI above. This is also needed to 121# get fork(). 122# 123#USE_IMP_SYS = define 124 125# 126# WARNING! This option is deprecated and will eventually go away (enable 127# USE_ITHREADS instead). 128# 129# uncomment to enable threads-capabilities. This is incompatible with 130# USE_ITHREADS, and is only here for people who may have come to rely 131# on the experimental Thread support that was in 5.005. 132# 133#USE_5005THREADS= define 134 135# 136# WARNING! This option is deprecated and will eventually go away (enable 137# USE_MULTI instead). 138# 139# uncomment next line if you want to use the PERL_OBJECT build option. 140# DO NOT ENABLE unless you have legacy code that relies on the C++ 141# CPerlObj class that was available in 5.005. This cannot be enabled 142# if you ask for USE_5005THREADS or USE_MULTI above. 143# 144#USE_OBJECT = define 145 146# 147# uncomment to enable use of PerlCRT.DLL when using the Visual C compiler. 148# It has patches that fix known bugs in older versions of MSVCRT.DLL. 149# This currently requires VC 5.0 with Service Pack 3 or later. 150# Get it from CPAN at http://www.perl.com/CPAN/authors/id/D/DO/DOUGL/ 151# and follow the directions in the package to install. 152# 153# Not recommended if you have VC 6.x and you're not running Windows 9x. 154# 155#USE_PERLCRT = define 156 157# 158# uncomment to enable linking with setargv.obj under the Visual C 159# compiler. Setting this option enables perl to expand wildcards in 160# arguments, but it may be harder to use alternate methods like 161# File::DosGlob that are more powerful, or use perl inside shells 162# that do the expansion for you. This option is supported only 163# with Visual C. 164# 165#USE_SETARGV = define 166 167# 168# set this if you wish to use perl's malloc 169# WARNING: Turning this on/off WILL break binary compatibility with extensions 170# you may have compiled with/without it. Be prepared to recompile all 171# extensions if you change the default. Currently, this cannot be enabled 172# if you ask for USE_IMP_SYS above. 173# 174#PERL_MALLOC = define 175 176# 177# Additional compiler flags can be specified here. 178# 179 180# 181# This should normally be disabled. Adding -DPERL_POLLUTE enables support 182# for old symbols by default, at the expense of extreme pollution. You most 183# probably just want to build modules that won't compile with 184# perl Makefile.PL POLLUTE=1 185# instead of enabling this. Please report such modules to the respective 186# authors. 187# 188#BUILDOPT = $(BUILDOPT) -DPERL_POLLUTE 189 190# 191# This should normally be disabled. Enabling it will disable the File::Glob 192# implementation of CORE::glob. 193# 194#BUILDOPT = $(BUILDOPT) -DPERL_EXTERNAL_GLOB 195 196# 197# This should normally be disabled. Enabling it causes perl to read scripts 198# in text mode (which is the 5.005 behavior) and will break ByteLoader. 199#BUILDOPT = $(BUILDOPT) -DPERL_TEXTMODE_SCRIPTS 200 201# 202# specify semicolon-separated list of extra directories that modules will 203# look for libraries (spaces in path names need not be quoted) 204# 205EXTRALIBDIRS = 206 207# 208# set this to your email address (perl will guess a value from 209# from your loginname and your hostname, which may not be right) 210# 211#EMAIL = 212 213## 214## Build configuration ends. 215## 216 217##################### CHANGE THESE ONLY IF YOU MUST ##################### 218 219!IF "$(BUILD_FLAVOR)" == "ActivePerl" 220INST_VER = 221INST_ARCH = 222USE_MULTI = define 223USE_ITHREADS = define 224USE_IMP_SYS = define 225USE_5005THREADS = undef 226USE_OBJECT = undef 227USE_PERLCRT = undef 228USE_SETARGV = 229PERL_MALLOC = undef 230!ENDIF 231 232!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == "" 233D_CRYPT = undef 234!ELSE 235D_CRYPT = define 236CRYPT_FLAG = -DHAVE_DES_FCRYPT 237!ENDIF 238 239!IF "$(USE_OBJECT)" == "define" 240PERL_MALLOC = undef 241USE_5005THREADS = undef 242USE_MULTI = undef 243USE_IMP_SYS = define 244!ENDIF 245 246!IF "$(PERL_MALLOC)" == "" 247PERL_MALLOC = undef 248!ENDIF 249 250!IF "$(USE_5005THREADS)" == "" 251USE_5005THREADS = undef 252!ENDIF 253 254!IF "$(USE_5005THREADS)" == "define" 255USE_ITHREADS = undef 256!ENDIF 257 258!IF "$(USE_IMP_SYS)" == "define" 259PERL_MALLOC = undef 260!ENDIF 261 262!IF "$(CCTYPE)" == "" 263CCTYPE = MSVC60 264!ENDIF 265 266!IF "$(USE_MULTI)" == "" 267USE_MULTI = undef 268!ENDIF 269 270!IF "$(USE_OBJECT)" == "" 271USE_OBJECT = undef 272!ENDIF 273 274!IF "$(USE_ITHREADS)" == "" 275USE_ITHREADS = undef 276!ENDIF 277 278!IF "$(USE_IMP_SYS)" == "" 279USE_IMP_SYS = undef 280!ENDIF 281 282!IF "$(USE_PERLCRT)" == "" 283USE_PERLCRT = undef 284!ENDIF 285 286!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef" 287USE_MULTI = define 288!ENDIF 289 290!IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef" 291USE_MULTI = define 292USE_5005THREADS = undef 293!ENDIF 294 295!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" 296BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT 297!ENDIF 298 299!IF "$(USE_IMP_SYS)" != "undef" 300BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS 301!ENDIF 302 303!IF "$(PROCESSOR_ARCHITECTURE)" == "" 304PROCESSOR_ARCHITECTURE = x86 305!ENDIF 306 307!IF "$(USE_OBJECT)" == "define" 308ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-object 309!ELSE 310!IF "$(USE_5005THREADS)" == "define" 311ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-thread 312!ELSE 313!IF "$(USE_MULTI)" == "define" 314ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-multi 315!ELSE 316ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE) 317!ENDIF 318!ENDIF 319!ENDIF 320 321!IF "$(USE_ITHREADS)" == "define" 322ARCHNAME = $(ARCHNAME)-thread 323!ENDIF 324 325# Visual Studio 98 specific 326!IF "$(CCTYPE)" == "MSVC60" 327# VC 6.0 can load the socket dll on demand. Makes the test suite 328# run in about 10% less time. 329DELAYLOAD = -DELAYLOAD:wsock32.dll -DELAYLOAD:shell32.dll delayimp.lib 330!ENDIF 331 332 333ARCHDIR = ..\lib\$(ARCHNAME) 334COREDIR = ..\lib\CORE 335AUTODIR = ..\lib\auto 336LIBDIR = ..\lib 337EXTDIR = ..\ext 338PODDIR = ..\pod 339EXTUTILSDIR = $(LIBDIR)\ExtUtils 340 341# 342INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin 343INST_BIN = $(INST_SCRIPT)$(INST_ARCH) 344INST_LIB = $(INST_TOP)$(INST_VER)\lib 345INST_ARCHLIB = $(INST_LIB)$(INST_ARCH) 346INST_COREDIR = $(INST_ARCHLIB)\CORE 347INST_POD = $(INST_LIB)\pod 348INST_HTML = $(INST_TOP)$(INST_VER)\html 349 350# 351# Programs to compile, build .lib files and link 352# 353 354CC = cl 355LINK32 = link 356LIB32 = $(LINK32) -lib 357RSC = rc 358 359# 360# Options 361# 362 363INCLUDES = -I$(COREDIR) -I.\include -I. -I.. 364#PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX 365DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) 366LOCDEFS = -DPERLDLL -DPERL_CORE 367SUBSYS = console 368CXX_FLAG = -TP -GX 369 370!IF "$(USE_PERLCRT)" != "define" 371LIBC = msvcrt.lib 372!ELSE 373LIBC = PerlCRT.lib 374!ENDIF 375 376PERLEXE_RES = 377PERLDLL_RES = 378 379!IF "$(CFG)" == "Debug" 380! IF "$(CCTYPE)" == "MSVC20" 381OPTIMIZE = -Od -MD -Z7 -DDEBUGGING 382! ELSE 383OPTIMIZE = -Od -MD -Zi -DDEBUGGING 384! ENDIF 385LINK_DBG = -debug -pdb:none 386!ELSE 387# -O1 yields smaller code, which turns out to be faster than -O2 388OPTIMIZE = -O1 -MD -DNDEBUG 389# VC 6.0 seems capable of compiling perl correctly with optimizations 390# enabled. Anything earlier fails tests. 391! IF "$(CCTYPE)" == "MSVC20" || "$(CCTYPE)" == "MSVC_PRE_50SP3" 392OPTIMIZE = -Od -MD -DNDEBUG 393! ENDIF 394LINK_DBG = -release 395!ENDIF 396 397 398!IF "$(USE_OBJECT)" == "define" 399OPTIMIZE = $(OPTIMIZE) $(CXX_FLAG) 400BUILDOPT = $(BUILDOPT) -DPERL_OBJECT 401!ENDIF 402 403!IF "$(USE_PERLCRT)" != "define" 404BUILDOPT = $(BUILDOPT) -DPERL_MSVCRT_READFIX 405!ENDIF 406 407LIBBASEFILES = $(CRYPT_LIB) \ 408 oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \ 409 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \ 410 netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib \ 411 version.lib odbc32.lib odbccp32.lib 412 413# we add LIBC here, since we may be using PerlCRT.dll 414LIBFILES = $(LIBBASEFILES) $(LIBC) 415 416CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \ 417 $(PCHFLAGS) $(OPTIMIZE) 418LINK_FLAGS = -nologo -nodefaultlib $(LINK_DBG) \ 419 -libpath:"$(INST_COREDIR)" \ 420 -machine:$(PROCESSOR_ARCHITECTURE) 421OBJOUT_FLAG = -Fo 422EXEOUT_FLAG = -Fe 423 424CFLAGS_O = $(CFLAGS) $(BUILDOPT) 425 426#################### do not edit below this line ####################### 427############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ############## 428 429o = .obj 430 431# 432# Rules 433# 434 435.SUFFIXES : .c $(o) .dll .lib .exe .rc .res 436 437.c$(o): 438 $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $< 439 440.y.c: 441 $(NOOP) 442 443$(o).dll: 444 $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \ 445 -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL) 446 447.rc.res: 448 $(RSC) -i.. $< 449 450# 451# various targets 452PERLIMPLIB = ..\perl56.lib 453PERLDLL = ..\perl56.dll 454 455MINIPERL = ..\miniperl.exe 456MINIDIR = .\mini 457PERLEXE = ..\perl.exe 458WPERLEXE = ..\wperl.exe 459GLOBEXE = ..\perlglob.exe 460CONFIGPM = ..\lib\Config.pm 461MINIMOD = ..\lib\ExtUtils\Miniperl.pm 462X2P = ..\x2p\a2p.exe 463 464PL2BAT = bin\pl2bat.pl 465GLOBBAT = bin\perlglob.bat 466 467UTILS = \ 468 ..\utils\h2ph \ 469 ..\utils\splain \ 470 ..\utils\dprofpp \ 471 ..\utils\perlbug \ 472 ..\utils\pl2pm \ 473 ..\utils\c2ph \ 474 ..\utils\h2xs \ 475 ..\utils\perldoc \ 476 ..\utils\perlcc \ 477 ..\pod\checkpods \ 478 ..\pod\pod2html \ 479 ..\pod\pod2latex \ 480 ..\pod\pod2man \ 481 ..\pod\pod2text \ 482 ..\pod\pod2usage \ 483 ..\pod\podchecker \ 484 ..\pod\podselect \ 485 ..\x2p\find2perl \ 486 ..\x2p\s2p \ 487 bin\exetype.pl \ 488 bin\runperl.pl \ 489 bin\pl2bat.pl \ 490 bin\perlglob.pl \ 491 bin\search.pl 492 493MAKE = nmake -nologo 494 495CFGSH_TMPL = config.vc 496CFGH_TMPL = config_H.vc 497 498XCOPY = xcopy /f /r /i /d 499RCOPY = xcopy /f /r /i /e /d 500NOOP = @echo 501NULL = 502 503# 504# filenames given to xsubpp must have forward slashes (since it puts 505# full pathnames in #line strings) 506XSUBPP = ..\$(MINIPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \ 507 -C++ -prototypes 508 509MICROCORE_SRC = \ 510 ..\av.c \ 511 ..\deb.c \ 512 ..\doio.c \ 513 ..\doop.c \ 514 ..\dump.c \ 515 ..\globals.c \ 516 ..\gv.c \ 517 ..\hv.c \ 518 ..\mg.c \ 519 ..\op.c \ 520 ..\perl.c \ 521 ..\perlapi.c \ 522 ..\perly.c \ 523 ..\pp.c \ 524 ..\pp_ctl.c \ 525 ..\pp_hot.c \ 526 ..\pp_sys.c \ 527 ..\regcomp.c \ 528 ..\regexec.c \ 529 ..\run.c \ 530 ..\scope.c \ 531 ..\sv.c \ 532 ..\taint.c \ 533 ..\toke.c \ 534 ..\universal.c \ 535 ..\utf8.c \ 536 ..\util.c \ 537 ..\xsutils.c 538 539EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c 540 541!IF "$(PERL_MALLOC)" == "define" 542EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c 543!ENDIF 544 545!IF "$(USE_OBJECT)" != "define" 546EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c 547!ENDIF 548 549WIN32_SRC = \ 550 .\win32.c \ 551 .\win32sck.c \ 552 .\win32thread.c 553 554!IF "$(CRYPT_SRC)" != "" 555WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC) 556!ENDIF 557 558DLL_SRC = $(DYNALOADER).c 559 560X2P_SRC = \ 561 ..\x2p\a2p.c \ 562 ..\x2p\hash.c \ 563 ..\x2p\str.c \ 564 ..\x2p\util.c \ 565 ..\x2p\walk.c 566 567CORE_NOCFG_H = \ 568 ..\av.h \ 569 ..\cop.h \ 570 ..\cv.h \ 571 ..\dosish.h \ 572 ..\embed.h \ 573 ..\form.h \ 574 ..\gv.h \ 575 ..\handy.h \ 576 ..\hv.h \ 577 ..\iperlsys.h \ 578 ..\mg.h \ 579 ..\nostdio.h \ 580 ..\op.h \ 581 ..\opcode.h \ 582 ..\perl.h \ 583 ..\perlapi.h \ 584 ..\perlsdio.h \ 585 ..\perlsfio.h \ 586 ..\perly.h \ 587 ..\pp.h \ 588 ..\proto.h \ 589 ..\regexp.h \ 590 ..\scope.h \ 591 ..\sv.h \ 592 ..\thread.h \ 593 ..\unixish.h \ 594 ..\utf8.h \ 595 ..\util.h \ 596 ..\warnings.h \ 597 ..\XSUB.h \ 598 ..\EXTERN.h \ 599 ..\perlvars.h \ 600 ..\intrpvar.h \ 601 ..\thrdvar.h \ 602 .\include\dirent.h \ 603 .\include\netdb.h \ 604 .\include\sys\socket.h \ 605 .\win32.h 606 607CORE_H = $(CORE_NOCFG_H) .\config.h 608 609MICROCORE_OBJ = $(MICROCORE_SRC:.c=.obj) 610CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.obj) 611WIN32_OBJ = $(WIN32_SRC:.c=.obj) 612MINICORE_OBJ = $(MICROCORE_OBJ:..\=.\mini\) \ 613 $(MINIDIR)\miniperlmain$(o) \ 614 $(MINIDIR)\perlio$(o) 615MINIWIN32_OBJ = $(WIN32_OBJ:.\=.\mini\) 616MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ) 617DLL_OBJ = $(DLL_SRC:.c=.obj) 618X2P_OBJ = $(X2P_SRC:.c=.obj) 619 620PERLDLL_OBJ = $(CORE_OBJ) 621PERLEXE_OBJ = perlmain$(o) 622 623PERLDLL_OBJ = $(PERLDLL_OBJ) $(WIN32_OBJ) $(DLL_OBJ) 624#PERLEXE_OBJ = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ) 625 626!IF "$(USE_SETARGV)" != "" 627SETARGV_OBJ = setargv$(o) 628!ENDIF 629 630DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \ 631 Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \ 632 Sys/Hostname 633STATIC_EXT = DynaLoader 634NONXS_EXT = Errno 635 636DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader 637SOCKET = $(EXTDIR)\Socket\Socket 638FCNTL = $(EXTDIR)\Fcntl\Fcntl 639OPCODE = $(EXTDIR)\Opcode\Opcode 640SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File 641IO = $(EXTDIR)\IO\IO 642POSIX = $(EXTDIR)\POSIX\POSIX 643ATTRS = $(EXTDIR)\attrs\attrs 644THREAD = $(EXTDIR)\Thread\Thread 645B = $(EXTDIR)\B\B 646RE = $(EXTDIR)\re\re 647DUMPER = $(EXTDIR)\Data\Dumper\Dumper 648ERRNO = $(EXTDIR)\Errno\Errno 649PEEK = $(EXTDIR)\Devel\Peek\Peek 650BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader 651DPROF = $(EXTDIR)\Devel\DProf\DProf 652GLOB = $(EXTDIR)\File\Glob\Glob 653HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname 654 655SOCKET_DLL = $(AUTODIR)\Socket\Socket.dll 656FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll 657OPCODE_DLL = $(AUTODIR)\Opcode\Opcode.dll 658SDBM_FILE_DLL = $(AUTODIR)\SDBM_File\SDBM_File.dll 659IO_DLL = $(AUTODIR)\IO\IO.dll 660POSIX_DLL = $(AUTODIR)\POSIX\POSIX.dll 661ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll 662THREAD_DLL = $(AUTODIR)\Thread\Thread.dll 663B_DLL = $(AUTODIR)\B\B.dll 664DUMPER_DLL = $(AUTODIR)\Data\Dumper\Dumper.dll 665PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll 666RE_DLL = $(AUTODIR)\re\re.dll 667BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll 668DPROF_DLL = $(AUTODIR)\Devel\DProf\DProf.dll 669GLOB_DLL = $(AUTODIR)\File\Glob\Glob.dll 670HOSTNAME_DLL = $(AUTODIR)\Sys\Hostname\Hostname.dll 671 672ERRNO_PM = $(LIBDIR)\Errno.pm 673 674EXTENSION_C = \ 675 $(SOCKET).c \ 676 $(FCNTL).c \ 677 $(OPCODE).c \ 678 $(SDBM_FILE).c \ 679 $(IO).c \ 680 $(POSIX).c \ 681 $(ATTRS).c \ 682 $(THREAD).c \ 683 $(RE).c \ 684 $(DUMPER).c \ 685 $(PEEK).c \ 686 $(B).c \ 687 $(BYTELOADER).c \ 688 $(DPROF).c \ 689 $(GLOB).c \ 690 $(HOSTNAME).c 691 692EXTENSION_DLL = \ 693 $(SOCKET_DLL) \ 694 $(FCNTL_DLL) \ 695 $(OPCODE_DLL) \ 696 $(SDBM_FILE_DLL)\ 697 $(IO_DLL) \ 698 $(POSIX_DLL) \ 699 $(ATTRS_DLL) \ 700 $(DUMPER_DLL) \ 701 $(PEEK_DLL) \ 702 $(B_DLL) \ 703 $(RE_DLL) \ 704 $(THREAD_DLL) \ 705 $(BYTELOADER_DLL) \ 706 $(DPROF_DLL) \ 707 $(GLOB_DLL) \ 708 $(HOSTNAME_DLL) 709 710EXTENSION_PM = \ 711 $(ERRNO_PM) 712 713POD2HTML = $(PODDIR)\pod2html 714POD2MAN = $(PODDIR)\pod2man 715POD2LATEX = $(PODDIR)\pod2latex 716POD2TEXT = $(PODDIR)\pod2text 717 718CFG_VARS = \ 719 "INST_DRV=$(INST_DRV)" \ 720 "INST_TOP=$(INST_TOP)" \ 721 "INST_VER=$(INST_VER)" \ 722 "INST_ARCH=$(INST_ARCH)" \ 723 "archname=$(ARCHNAME)" \ 724 "cc=$(CC)" \ 725 "ccflags=-nologo $(OPTIMIZE:"=\") $(DEFINES) $(BUILDOPT)" \ 726 "cf_email=$(EMAIL)" \ 727 "d_crypt=$(D_CRYPT)" \ 728 "d_mymalloc=$(PERL_MALLOC)" \ 729 "libs=$(LIBFILES)" \ 730 "incpath=$(CCINCDIR:"=\")" \ 731 "libperl=$(PERLIMPLIB:..\=)" \ 732 "libpth=$(CCLIBDIR:"=\");$(EXTRALIBDIRS:"=\")" \ 733 "libc=$(LIBC)" \ 734 "make=nmake" \ 735 "static_ext=$(STATIC_EXT)" \ 736 "dynamic_ext=$(DYNAMIC_EXT)" \ 737 "nonxs_ext=$(NONXS_EXT)" \ 738 "use5005threads=$(USE_5005THREADS)" \ 739 "useithreads=$(USE_ITHREADS)" \ 740 "usethreads=$(USE_5005THREADS)" \ 741 "usemultiplicity=$(USE_MULTI)" \ 742 "LINK_FLAGS=$(LINK_FLAGS:"=\")" \ 743 "optimize=$(OPTIMIZE:"=\")" 744 745# 746# Top targets 747# 748 749all : .\config.h $(GLOBEXE) $(MINIMOD) $(CONFIGPM) $(PERLEXE) \ 750 $(X2P) $(EXTENSION_DLL) $(EXTENSION_PM) 751 752$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c 753 754#------------------------------------------------------------ 755 756$(GLOBEXE) : perlglob$(o) 757 $(LINK32) $(LINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \ 758 perlglob$(o) setargv$(o) 759 760perlglob$(o) : perlglob.c 761 762config.w32 : $(CFGSH_TMPL) 763 copy $(CFGSH_TMPL) config.w32 764 765.\config.h : $(CFGH_TMPL) 766 -del /f config.h 767 copy $(CFGH_TMPL) config.h 768 769..\config.sh : config.w32 $(MINIPERL) config_sh.PL 770 $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) config.w32 > ..\config.sh 771 772# this target is for when changes to the main config.sh happen 773# edit config.{b,v,g}c and make this target once for each supported 774# compiler (e.g. `dmake CCTYPE=BORLAND regen_config_h`) 775regen_config_h: 776 perl config_sh.PL $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh 777 cd .. 778 -del /f perl.exe 779 perl configpm 780 cd win32 781 -del /f $(CFGH_TMPL) 782 -mkdir $(COREDIR) 783 -perl -I..\lib config_h.PL "INST_VER=$(INST_VER)" 784 rename config.h $(CFGH_TMPL) 785 786$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl 787 cd .. && miniperl configpm 788 if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) 789 $(XCOPY) ..\*.h $(COREDIR)\*.* 790 $(XCOPY) *.h $(COREDIR)\*.* 791 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.* 792 $(RCOPY) include $(COREDIR)\*.* 793 $(MINIPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)" \ 794 || $(MAKE) /$(MAKEFLAGS) $(CONFIGPM) 795 796$(MINIPERL) : $(MINIDIR) $(MINI_OBJ) 797 $(LINK32) -subsystem:console -out:$@ @<< 798 $(LINK_FLAGS) $(LIBFILES) $(MINI_OBJ) 799<< 800 801$(MINIDIR) : 802 if not exist "$(MINIDIR)" mkdir "$(MINIDIR)" 803 804$(MINICORE_OBJ) : $(CORE_NOCFG_H) 805 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB $(OBJOUT_FLAG)$@ ..\$(*F).c 806 807$(MINIWIN32_OBJ) : $(CORE_NOCFG_H) 808 $(CC) -c $(CFLAGS) $(OBJOUT_FLAG)$@ $(*F).c 809 810# -DPERL_IMPLICIT_SYS needs C++ for perllib.c 811# This is the only file that depends on perlhost.h, vmem.h, and vdir.h 812!IF "$(USE_IMP_SYS)$(USE_OBJECT)" == "defineundef" 813perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h 814 $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c 815!ENDIF 816 817# 1. we don't want to rebuild miniperl.exe when config.h changes 818# 2. we don't want to rebuild miniperl.exe with non-default config.h 819$(MINI_OBJ) : $(CORE_NOCFG_H) 820 821$(WIN32_OBJ) : $(CORE_H) 822$(CORE_OBJ) : $(CORE_H) 823$(DLL_OBJ) : $(CORE_H) 824$(X2P_OBJ) : $(CORE_H) 825 826perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl 827 $(MINIPERL) -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \ 828 CCTYPE=$(CCTYPE) > perldll.def 829 830$(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) 831 $(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ @<< 832 $(LINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(PERLDLL_OBJ) $(PERLDLL_RES) 833<< 834 $(XCOPY) $(PERLIMPLIB) $(COREDIR) 835 836$(MINIMOD) : $(MINIPERL) ..\minimod.pl 837 cd .. && miniperl minimod.pl > lib\ExtUtils\Miniperl.pm 838 839..\x2p\a2p$(o) : ..\x2p\a2p.c 840 $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\a2p.c 841 842..\x2p\hash$(o) : ..\x2p\hash.c 843 $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\hash.c 844 845..\x2p\str$(o) : ..\x2p\str.c 846 $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\str.c 847 848..\x2p\util$(o) : ..\x2p\util.c 849 $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\util.c 850 851..\x2p\walk$(o) : ..\x2p\walk.c 852 $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\walk.c 853 854$(X2P) : $(MINIPERL) $(X2P_OBJ) 855 $(MINIPERL) ..\x2p\find2perl.PL 856 $(MINIPERL) ..\x2p\s2p.PL 857 $(LINK32) -subsystem:console -out:$@ @<< 858 $(LINK_FLAGS) $(LIBFILES) $(X2P_OBJ) 859<< 860 861perlmain.c : runperl.c 862 copy runperl.c perlmain.c 863 864perlmain$(o) : perlmain.c 865 $(CC) $(CFLAGS_O) -UPERLDLL $(OBJOUT_FLAG)$@ -c perlmain.c 866 867$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) 868 $(LINK32) -subsystem:console -out:$@ -stack:0x1000000 $(LINK_FLAGS) \ 869 $(LIBFILES) $(PERLEXE_OBJ) $(SETARGV_OBJ) $(PERLIMPLIB) $(PERLEXE_RES) 870 copy $(PERLEXE) $(WPERLEXE) 871 $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS 872 copy splittree.pl .. 873 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) 874 875$(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM) 876 if not exist $(AUTODIR) mkdir $(AUTODIR) 877 cd $(EXTDIR)\$(*B) 878 ..\$(MINIPERL) -I..\..\lib $(*B)_pm.PL 879 ..\$(MINIPERL) -I..\..\lib XSLoader_pm.PL 880 cd ..\..\win32 881 $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL) 882 $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL) 883 cd $(EXTDIR)\$(*B) 884 $(XSUBPP) dl_win32.xs > $(*B).c 885 cd ..\..\win32 886 887$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs 888 copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs 889 890$(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs 891 cd $(EXTDIR)\Data\$(*B) 892 ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl 893 $(MAKE) 894 cd ..\..\..\win32 895 896$(DPROF_DLL): $(PERLEXE) $(DPROF).xs 897 cd $(EXTDIR)\Devel\$(*B) 898 ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl 899 $(MAKE) 900 cd ..\..\..\win32 901 902$(GLOB_DLL): $(PERLEXE) $(GLOB).xs 903 cd $(EXTDIR)\File\$(*B) 904 ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl 905 $(MAKE) 906 cd ..\..\..\win32 907 908$(PEEK_DLL): $(PERLEXE) $(PEEK).xs 909 cd $(EXTDIR)\Devel\$(*B) 910 ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl 911 $(MAKE) 912 cd ..\..\..\win32 913 914$(RE_DLL): $(PERLEXE) $(RE).xs 915 cd $(EXTDIR)\$(*B) 916 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 917 $(MAKE) 918 cd ..\..\win32 919 920$(B_DLL): $(PERLEXE) $(B).xs 921 cd $(EXTDIR)\$(*B) 922 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 923 $(MAKE) 924 cd ..\..\win32 925 926$(THREAD_DLL): $(PERLEXE) $(THREAD).xs 927 cd $(EXTDIR)\$(*B) 928 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 929 $(MAKE) 930 cd ..\..\win32 931 932$(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs 933 cd $(EXTDIR)\$(*B) 934 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 935 $(MAKE) 936 cd ..\..\win32 937 938$(POSIX_DLL): $(PERLEXE) $(POSIX).xs 939 cd $(EXTDIR)\$(*B) 940 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 941 $(MAKE) 942 cd ..\..\win32 943 944$(IO_DLL): $(PERLEXE) $(IO).xs 945 cd $(EXTDIR)\$(*B) 946 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 947 $(MAKE) 948 cd ..\..\win32 949 950$(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs 951 cd $(EXTDIR)\$(*B) 952 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 953 $(MAKE) 954 cd ..\..\win32 955 956$(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs 957 cd $(EXTDIR)\$(*B) 958 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 959 $(MAKE) 960 cd ..\..\win32 961 962$(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs 963 cd $(EXTDIR)\$(*B) 964 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 965 $(MAKE) 966 cd ..\..\win32 967 968$(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs 969 cd $(EXTDIR)\$(*B) 970 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 971 $(MAKE) 972 cd ..\..\win32 973 974$(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs 975 cd $(EXTDIR)\Sys\$(*B) 976 ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl 977 $(MAKE) 978 cd ..\..\..\win32 979 980$(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs 981 cd $(EXTDIR)\$(*B) 982 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 983 $(MAKE) 984 cd ..\..\win32 985 986$(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL 987 cd $(EXTDIR)\$(*B) 988 ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl 989 $(MAKE) 990 cd ..\..\win32 991 992doc: $(PERLEXE) 993 $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=./html \ 994 --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML::=|)" \ 995 --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse 996 997utils: $(PERLEXE) $(X2P) 998 cd ..\utils 999 $(MAKE) PERL=$(MINIPERL) 1000 cd ..\pod 1001 copy ..\README.aix .\perlaix.pod 1002 copy ..\README.amiga .\perlamiga.pod 1003 copy ..\README.bs2000 .\perlbs2000.pod 1004 copy ..\README.cygwin .\perlcygwin.pod 1005 copy ..\README.dos .\perldos.pod 1006 copy ..\README.epoc .\perlepoc.pod 1007 copy ..\README.hpux .\perlhpux.pod 1008 copy ..\README.machten .\perlmachten.pod 1009 copy ..\README.macos .\perlmacos.pod 1010 copy ..\README.mpeix .\perlmpeix.pod 1011 copy ..\README.os2 .\perlos2.pod 1012 copy ..\README.os390 .\perlos390.pod 1013 copy ..\README.solaris .\perlsolaris.pod 1014 copy ..\README.vmesa .\perlvmesa.pod 1015 copy ..\vms\perlvms.pod .\perlvms.pod 1016 copy ..\README.vos .\perlvos.pod 1017 copy ..\README.win32 .\perlwin32.pod 1018 $(MAKE) -f ..\win32\pod.mak converters 1019 cd ..\win32 1020 $(PERLEXE) $(PL2BAT) $(UTILS) 1021 1022distclean: clean 1023 -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \ 1024 $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD) 1025 -del /f *.def *.map 1026 -del /f $(EXTENSION_DLL) $(EXTENSION_PM) 1027 -del /f $(EXTENSION_C) $(DYNALOADER).c $(ERRNO).pm 1028 -del /f $(EXTDIR)\DynaLoader\dl_win32.xs $(EXTDIR)\DynaLoader\DynaLoader.pm 1029 -del /f $(LIBDIR)\.exists $(LIBDIR)\attrs.pm $(LIBDIR)\DynaLoader.pm 1030 -del /f $(LIBDIR)\XSLoader.pm $(EXTDIR)\DynaLoader\XSLoader.pm 1031 -del /f $(LIBDIR)\Devel\.exists $(LIBDIR)\File\.exists $(LIBDIR)\Sys\.exists 1032 -del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm 1033 -del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm $(LIBDIR)\Thread.pm 1034 -del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm 1035 -del /f $(LIBDIR)\B.pm $(EXTDIR)\B\defsubs.h $(LIBDIR)\O.pm $(LIBDIR)\re.pm 1036 -del /f $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm 1037 -del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm 1038 -del /f $(LIBDIR)\File\Glob.pm 1039 -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO 1040 -if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread 1041 -if exist $(LIBDIR)\B rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B 1042 -if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data || rmdir /s $(LIBDIR)\Data 1043 cd $(PODDIR) 1044 -del /f *.html *.bat checkpods \ 1045 perlaix.pod perlamiga.pod perlbs2000.pod perlcygwin.pod \ 1046 perldos.pod perlepoc.pod perlhpux.pod perlmachten.pod \ 1047 perlmacos.pod perlmpeix.pod perlos2.pod perlos390.pod \ 1048 perlsolaris.pod perlvmesa.pod perlvms.pod perlvos.pod \ 1049 perlwin32.pod pod2html pod2latex pod2man pod2text pod2usage \ 1050 podchecker podselect 1051 cd ..\utils 1052 -del /f h2ph splain perlbug pl2pm c2ph h2xs perldoc dprofpp \ 1053 *.bat perlcc pstruct 1054 cd ..\win32 1055 cd ..\x2p 1056 -del /f find2perl s2p 1057 -del /f *.bat 1058 cd ..\win32 1059 -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new 1060 -del /f $(CONFIGPM) 1061 -del /f bin\*.bat 1062 cd $(EXTDIR) 1063 -del /s *.lib *.def *.map *.pdb *.bs Makefile *$(o) pm_to_blib 1064 cd ..\win32 1065 -if exist $(AUTODIR) rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR) 1066 -if exist $(COREDIR) rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR) 1067 1068install : all installbare installhtml 1069 1070installbare : utils 1071 $(PERLEXE) ..\installperl 1072 if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.* 1073 $(XCOPY) $(GLOBEXE) $(INST_BIN)\*.* 1074 $(XCOPY) bin\*.bat $(INST_SCRIPT)\*.* 1075 1076installhtml : doc 1077 $(RCOPY) html\*.* $(INST_HTML)\*.* 1078 1079inst_lib : $(CONFIGPM) 1080 copy splittree.pl .. 1081 $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) 1082 $(RCOPY) ..\lib $(INST_LIB)\*.* 1083 1084minitest : $(MINIPERL) $(GLOBEXE) $(CONFIGPM) utils 1085 $(XCOPY) $(MINIPERL) ..\t\perl.exe 1086 $(XCOPY) $(GLOBEXE) ..\t\$(NULL) 1087 attrib -r ..\t\*.* 1088 copy test ..\t 1089 cd ..\t 1090 $(MINIPERL) -I..\lib test base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.t 1091 cd ..\win32 1092 1093test-prep : all utils 1094 $(XCOPY) $(PERLEXE) ..\t\$(NULL) 1095 $(XCOPY) $(PERLDLL) ..\t\$(NULL) 1096 $(XCOPY) $(GLOBEXE) ..\t\$(NULL) 1097 1098test : test-prep 1099 cd ..\t 1100 $(PERLEXE) -I..\lib harness 1101 cd ..\win32 1102 1103test-notty : test-prep 1104 set PERL_SKIP_TTY_TEST=1 1105 cd ..\t 1106 $(PERLEXE) -I..\lib harness 1107 cd ..\win32 1108 1109test-wide : test-prep 1110 set HARNESS_PERL_SWITCHES=-C 1111 cd ..\t 1112 $(PERLEXE) -I..\lib harness 1113 cd ..\win32 1114 1115test-wide-notty : test-prep 1116 set PERL_SKIP_TTY_TEST=1 1117 set HARNESS_PERL_SWITCHES=-C 1118 cd ..\t 1119 $(PERLEXE) -I..\lib harness 1120 cd ..\win32 1121 1122clean : 1123 -@erase miniperlmain$(o) 1124 -@erase $(MINIPERL) 1125 -@erase perlglob$(o) 1126 -@erase perlmain$(o) 1127 -@erase config.w32 1128 -@erase /f config.h 1129 -@erase $(GLOBEXE) 1130 -@erase $(PERLEXE) 1131 -@erase $(WPERLEXE) 1132 -@erase $(PERLDLL) 1133 -@erase $(CORE_OBJ) 1134 -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) || rmdir /s $(MINIDIR) 1135 -@erase $(WIN32_OBJ) 1136 -@erase $(DLL_OBJ) 1137 -@erase $(X2P_OBJ) 1138 -@erase ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp *.res 1139 -@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat 1140 -@erase ..\x2p\*.exe ..\x2p\*.bat 1141 -@erase *.ilk 1142 -@erase *.pdb 1143 1144# Handy way to run perlbug -ok without having to install and run the 1145# installed perlbug. We don't re-run the tests here - we trust the user. 1146# Please *don't* use this unless all tests pass. 1147# If you want to report test failures, use "nmake nok" instead. 1148ok: utils 1149 $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" 1150 1151okfile: utils 1152 $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok 1153 1154nok: utils 1155 $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" 1156 1157nokfile: utils 1158 $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok 1159