1# 2# perl makefile for wince 3# During the cross-compilation, it first uses Makefile file to build 4# miniperl on HOST and then build required platform 5# 6 7SRCDIR = .. 8PV = 530 9 10# INSTALL_ROOT specifies a path where this perl will be installed on CE device 11INSTALL_ROOT=/netzwerk/sprache/perl 12INST_TOP=$(INSTALL_ROOT) 13INST_VER= 14 15# PERLCEDIR shoud be set to current directory 16PERLCEDIR = $(MAKEDIR) 17 18# WCEROOT is a directory where Windows CE Tools was installed 19WCEROOT = D:\Windows CE Tools 20 21# HPERL stands for host perl, which is perl on local desktop machine 22# which is usually ..\miniperl.exe 23#HPERL = N:\Programme\perl\bin\perl.exe 24HPERL = $(MAKEDIR)\..\miniperl.exe 25 26CEPATH = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN 27CELIBDLLDIR = h:\src\wince\celib-palm-3.0 28CECONSOLEDIR = h:\src\wince\w32console 29 30# specify following options to build perl on local machine, by MSVC 31MSVCDIR = D:\MSVStudio\VC98 32CCHOME = $(MSVCDIR) 33CCINCDIR = $(CCHOME)\include 34CCLIBDIR = $(CCHOME)\lib 35 36# cecopy program. Make shure it is in your path, as well as cemkdir, cedel 37CECOPY = cecopy 38 39# 40# comment this out if you want the legacy default behavior of including '.' at 41# the end of @INC. 42# 43DEFAULT_INC_EXCLUDES_DOT = define 44 45# 46# set this if you wish to use perl's malloc 47# This will make perl run few times faster 48# WARNING: Turning this on/off WILL break binary compatibility with extensions 49# you may have compiled with/without it. 50# 51PERL_MALLOC = define 52 53 54NOOP = @echo 55# keep this untouched! 56NULL = 57 58# 59# uncomment exactly one of the following 60# 61# Embedded Visual C++ 4 and older 62CCTYPE = MSVC60 63# Smart Devices for Visual C++ 2005 (aka Visual C++ 8.x) (full version) 64#CCTYPE = MSVC80 65# Smart Devices for Visual C++ 2008 (aka Visual C++ 9.x) (full version) 66#CCTYPE = MSVC90 67 68#CFG=DEBUG 69CFG=RELEASE 70 71!if "$(MACHINE)" == "" 72MACHINE=wince-arm-hpc-wce300 73#MACHINE=wince-arm-hpc-wce211 74#MACHINE=wince-sh3-hpc-wce211 75#MACHINE=wince-mips-hpc-wce211 76#MACHINE=wince-sh3-hpc-wce200 77#MACHINE=wince-mips-hpc-wce200 78#MACHINE=wince-arm-pocket-wce300 79#MACHINE=wince-mips-pocket-wce300 80#MACHINE=wince-sh3-pocket-wce300 81#MACHINE=wince-x86em-pocket-wce300 82#MACHINE=wince-mips-palm-wce211 83#MACHINE=wince-sh3-palm-wce211 84#MACHINE=wince-x86em-palm-wce211 85#MACHINE=wince-x86-hpc-wce300 86#MACHINE=wince-arm-pocket-wce400 87!endif 88 89# set this to your email address 90# 91#EMAIL = 92 93##################### CHANGE THESE ONLY IF YOU MUST ##################### 94 95###################################################################### 96# machines 97 98!if "$(MACHINE)" == "wince-sh3-hpc-wce211" 99CC = shcl.exe 100ARCH = SH3 101CPU = SH3 102TARGETCPU = SH3 103CEVersion = 211 104OSVERSION = WCE211 105PLATFORM = MS HPC Pro 106MCFLAGS = -MDd -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \ 107 -I $(CELIBDLLDIR)\inc 108SUBSYS = -subsystem:windowsce,2.11 109CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 110LDLIBPATH = -libpath:$(CELIBPATH) 111STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 112 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 113!endif 114 115!if "$(MACHINE)" == "wince-mips-hpc-wce211" 116CC = clmips.exe 117ARCH = MIPS 118CPU = MIPS 119TARGETCPU = MIPS 120CEVersion = 211 121OSVERSION = WCE211 122PLATFORM = MS HPC Pro 123MCFLAGS = -D _MT -D _DLL \ 124 -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \ 125 -D PALM_SIZE \ 126 -I $(CELIBDLLDIR)\inc 127SUBSYS = -subsystem:windowsce,2.11 128CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 129LDLIBPATH = -libpath:$(CELIBPATH) 130STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 131 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 132!endif 133 134!if "$(MACHINE)" == "wince-mips-hpc-wce200" 135CC = clmips.exe 136ARCH = MIPS 137CPU = MIPS 138TARGETCPU = MIPS 139CEVersion = 200 140OSVERSION = WCE200 141PLATFORM = MS HPC 142# MUST USE -MD to get the right FPE stuff... 143MCFLAGS = -D _MT -D _DLL -MD \ 144 -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \ 145 -D PALM_SIZE \ 146 -I $(CELIBDLLDIR)\inc 147SUBSYS = -subsystem:windowsce,2.00 148CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 149LDLIBPATH = -libpath:$(CELIBPATH) 150STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 151 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 152!endif 153 154!if "$(MACHINE)" == "wince-sh3-hpc-wce200" 155CC = shcl.exe 156ARCH = SH3 157CPU = SH3 158TARGETCPU = SH3 159CEVersion = 200 160OSVERSION = WCE200 161PLATFORM = MS HPC 162# MUST USE -MD to get the right FPE stuff... 163MCFLAGS = -D _MT -D _DLL -MD \ 164 -D SH3 -D sh3 -D _SH3_ -D _sh3_ -D SHx -DPROCESSOR_SH3 \ 165 -D PALM_SIZE \ 166 -I $(CELIBDLLDIR)\inc 167SUBSYS = -subsystem:windowsce,2.00 168CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 169LDLIBPATH = -libpath:$(CELIBPATH) 170STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 171 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 172!endif 173 174!if "$(MACHINE)" == "wince-arm-hpc-wce211" 175CC = clarm.exe 176ARCH = ARM 177CPU = ARM 178TARGETCPU = ARM 179CEVersion = 211 180OSVERSION = WCE211 181PLATFORM = MS HPC Pro 182MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \ 183 -DPROCESSOR_ARM -DPALM_SIZE \ 184 -I $(CELIBDLLDIR)\inc 185SUBSYS = -subsystem:windowsce,2.11 186CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 187LDLIBPATH = -libpath:$(CELIBPATH) 188STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 189 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 190!endif 191 192!if "$(MACHINE)" == "wince-arm-hpc-wce300" 193CC = clarm.exe 194ARCH = ARM 195CPU = ARM 196TARGETCPU = ARM 197CEVersion = 300 198OSVERSION = WCE300 199#PLATFORM = HPC2000 200MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \ 201 -DPROCESSOR_ARM -DPALM_SIZE \ 202 -I $(CELIBDLLDIR)\inc 203SUBSYS = -subsystem:windowsce,3.00 204CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 205LDLIBPATH = -libpath:$(CELIBPATH) 206STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 207 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 208!endif 209 210!if "$(MACHINE)" == "wince-mips-palm-wce211" 211CC = clmips.exe 212ARCH = MIPS 213CPU = MIPS 214TARGETCPU = MIPS 215CEVersion = 211 216OSVERSION = WCE211 217PLATFORM = MS Palm Size PC 218MCFLAGS = -DMIPS -D_MIPS_ -DPROCESSOR_MIPS -D PALM_SIZE -D _DLL -D _MT \ 219 -I $(CELIBDLLDIR)\inc 220SUBSYS = -subsystem:windowsce,2.11 221CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 222LDLIBPATH = -libpath:$(CELIBPATH) 223STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 224 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 225!endif 226 227!if "$(MACHINE)" == "wince-sh3-palm-wce211" 228CC = shcl.exe 229ARCH = SH3 230CPU = SH3 231TARGETCPU = SH3 232CEVersion = 211 233OSVERSION = WCE211 234PLATFORM = MS Palm Size PC 235MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \ 236 -I $(CELIBDLLDIR)\inc 237SUBSYS = -subsystem:windowsce,2.11 238CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 239LDLIBPATH = -libpath:$(CELIBPATH) 240STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 241 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 242!endif 243 244!if "$(MACHINE)" == "wince-x86em-palm-wce211" 245CC = cl.exe 246ARCH = X86EM 247CPU = X86 248TARGETCPU = X86 249CEVersion = 211 250OSVERSION = WCE211 251PLATFORM = MS Palm Size PC 252MCFLAGS = -MDd -DX86 -D_X86_ -DPROCESSOR_X86 \ 253 -D_WIN32_WCE_EMULATION -DPALM_SIZE \ 254 -I $(CELIBDLLDIR)\inc 255MACH = -machine:x86 256SUBSYS = -subsystem:windows 257CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 258LDLIBPATH = -libpath:$(CELIBPATH) 259STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 260 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 261!endif 262 263!if "$(MACHINE)" == "wince-x86em-pocket-wce300" 264CC = cl.exe 265ARCH = X86EM 266CPU = X86 267TARGETCPU = X86 268CEVersion = 300 269OSVERSION = WCE300 270PLATFORM = MS Pocket PC 271MCFLAGS = -DX86 -D_X86_ -DPROCESSOR_X86 -D _MT -D _DLL \ 272 -D_WIN32_WCE_EMULATION -DPALM_SIZE -DPOCKET_SIZE \ 273 -I $(CELIBDLLDIR)\inc 274MACH = -machine:x86 275SUBSYS = -subsystem:windows 276CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 277LDLIBPATH = -libpath:$(CELIBPATH) 278STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 279 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 280!endif 281 282!if "$(MACHINE)" == "wince-mips-pocket-wce300" 283CC = clmips.exe 284ARCH = MIPS 285CPU = MIPS 286TARGETCPU = MIPS 287CEVersion = 300 288OSVERSION = WCE300 289PLATFORM = MS Pocket PC 290MCFLAGS = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \ 291 -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \ 292 -I $(CELIBDLLDIR)\inc 293MACH = -machine:mips 294SUBSYS = -subsystem:windowsce,3.00 295CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 296#STDLIBPATH = $(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(CPU) 297LDLIBPATH = -libpath:$(CELIBPATH) 298#"-libpath:$(STDLIBPATH)" 299STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 300 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 301!endif 302 303!if "$(MACHINE)" == "wince-sh3-pocket-wce300" 304CC = shcl.exe 305ARCH = SH3 306CPU = SH3 307TARGETCPU = SH3 308CEVersion = 300 309OSVERSION = WCE300 310PLATFORM = MS Pocket PC 311MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 \ 312 -DPALM_SIZE -DPOCKET_SIZE \ 313 -I $(CELIBDLLDIR)\inc 314MACH = -machine:sh3 315SUBSYS = -subsystem:windowsce,3.00 316CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 317LDLIBPATH = -libpath:$(CELIBPATH) 318STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 319 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 320!endif 321 322!if "$(MACHINE)" == "wince-arm-pocket-wce300" 323CC = clarm.exe 324ARCH = ARM 325CPU = ARM 326TARGETCPU = ARM 327CEVersion = 300 328OSVERSION = WCE300 329PLATFORM = MS Pocket PC 330MCFLAGS = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \ 331 -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \ 332 -I $(CELIBDLLDIR)\inc 333MACH = -machine:arm 334SUBSYS = -subsystem:windowsce,3.00 335CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 336LDLIBPATH = -libpath:$(CELIBPATH) 337STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 338 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 339!endif 340 341!if "$(MACHINE)" == "wince-x86-hpc-wce300" 342CC = cl.exe 343ARCH = X86EM 344CPU = X86 345TARGETCPU = X86 346CEVersion = 400 347OSVERSION = WCE400 348PLATFORM = MS Pocket PC 349MCFLAGS = -DX86 -D_X86_ -Dx86 -DPROCESSOR_X86 -D _MT -D _DLL \ 350 -DPALM_SIZE -DPOCKET_SIZE -I $(CELIBDLLDIR)\inc 351MACH = -machine:IX86 352SUBSYS = -subsystem:windowsce,2.0 353CELIBPATH = $(CELIBDLLDIR)\wince-x86-hpc-wce300-release 354LDLIBPATH = -libpath:$(CELIBPATH) 355STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 356 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 357!endif 358 359!if "$(MACHINE)" == "wince-arm-pocket-wce400" 360#CC = clarm.exe #set in WCEARMV4.BAT 361ARCH = ARM 362CPU = ARM 363TARGETCPU = ARM 364CEVersion = 400 365#OSVERSION = WCE300 #set in WCEARMV4.BAT 366PLATFORM = MS Pocket PC 367MCFLAGS = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \ 368 -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \ 369 -I $(CELIBDLLDIR)\inc 370MACH = -machine:arm 371SUBSYS = -subsystem:windowsce,4.00 372CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release 373LDLIBPATH = -libpath:$(CELIBPATH) 374STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ 375 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj 376!endif 377 378 379###################################################################### 380# common section 381 382CEDEFS = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \ 383 $(MCFLAGS) -D PERL 384 385CECFLAGS = $(CEDEFS) -Zi 386 387!if "$(CFG)" == "DEBUG" 388CECFLAGS = $(CECFLAGS) -Od 389!endif 390 391!if "$(CFG)" == "RELEASE" 392# -O2 and -Ot give internal compiler error in perl.c and lexer. 393# Also the dll cannot be loaded by perl.exe... 394!if "$(CPU)" == "SH3" 395!else 396CECFLAGS = $(CECFLAGS) -O1 397!endif 398! IF "$(CCTYPE)" != "MSVC60" 399#turn on LTCG optimization for CCs that have it 400CECFLAGS = $(CECFLAGS) -GL 401! ENDIF 402! IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC90" 403#no stack security cookie for CCs where its on by default 404CECFLAGS = $(CECFLAGS) -GS- 405! ENDIF 406!endif 407 408RCDEFS = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \ 409 /d _WIN32_WCE=$(CEVersion) 410 411#PATH=$(CEPATH);$(PATH) 412 413# attention, for eVC 4, these paths are not generated correctly since the 414# WinCE SDK is organized differently from eVC 3, replace the next 2 macros 415# with absolute paths to the correct directories on your system 416#INCLUDE=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\include 417#LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH) 418 419###################################################################### 420 421!message 422!message Compiling for $(MACHINE) 423!message LIB=$(LIB) 424!message INCLUDE=$(INCLUDE) 425!message PATH=$(CEPATH) 426!message 427 428###################################################################### 429# 430# Additional compiler flags can be specified here. 431# 432 433BUILDOPT = $(BUILDOPT) $(CECFLAGS) -DUSE_CROSS_COMPILE 434 435 436!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == "" 437D_CRYPT = undef 438!ELSE 439D_CRYPT = define 440CRYPT_FLAG = -DHAVE_DES_FCRYPT 441!ENDIF 442 443!IF "$(PERL_MALLOC)" == "" 444PERL_MALLOC = undef 445!ENDIF 446 447!IF "$(DEFAULT_INC_EXCLUDES_DOT)" == "" 448DEFAULT_INC_EXCLUDES_DOT = undef 449!ENDIF 450 451!IF "$(USE_MULTI)" == "" 452USE_MULTI = undef 453!ENDIF 454 455!IF "$(USE_ITHREADS)" == "" 456USE_ITHREADS = undef 457!ENDIF 458 459!IF "$(USE_IMP_SYS)" == "" 460USE_IMP_SYS = undef 461!ENDIF 462 463!IF "$(USE_PERLCRT)" == "" 464USE_PERLCRT = undef 465!ENDIF 466 467!IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef" 468USE_MULTI = define 469!ENDIF 470 471!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef" 472USE_MULTI = define 473!ENDIF 474 475!IF "$(USE_MULTI)" != "undef" 476BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT 477!ENDIF 478 479!IF "$(USE_IMP_SYS)" != "undef" 480BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS 481!ENDIF 482 483!IF "$(CROSS_NAME)" == "" 484CROSS_NAME = $(MACHINE) 485!ENDIF 486 487# new option - automatically defined in perl.h... 488#BUILDOPT = $(BUILDOPT) -DUSE_ENVIRON_ARRAY 489 490PROCESSOR_ARCHITECTURE = $(TARGETCPU) 491ARCHNAME = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE) 492ARCHDIR = ..\lib\$(ARCHNAME) 493COREDIR = ..\lib\CORE 494AUTODIR = ..\lib\auto 495LIBDIR = ..\lib 496EXTDIR = ..\ext 497DISTDIR = ..\dist 498CPANDIR = ..\cpan 499PODDIR = ..\pod 500EXTUTILSDIR = $(LIBDIR)\ExtUtils 501 502LINK32 = link 503LIB32 = $(LINK32) -lib 504RSC = rc 505 506INCLUDES = -I.\include -I. -I.. 507DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) $(CECFLAGS) 508LOCDEFS = -DPERLDLL -DPERL_CORE 509CXX_FLAG = -TP 510 511PERLEXE_RES = perl.res 512PERLDLL_RES = 513 514!if "$(CFG)" == "RELEASE" 515CELIB = celib.lib 516!endif 517 518!if "$(CFG)" == "DEBUG" 519CELIB = celib.lib 520!endif 521 522#use ws2.lib instead of winsock.lib for WSAGetLastError 523CELIBS = -nodefaultlib \ 524 ws2.lib $(CELIB) coredll.lib 525 526#this libc's purpose is WinCE entrypoint to main wrapper, not a real C std lib 527!if $(CEVersion) > 200 528LIBC = corelibc.lib 529!else 530LIBC = msvcrt.lib 531!endif 532 533LIBBASEFILES = $(CRYPT_LIB) $(CELIBS) 534 535LIBFILES = $(LIBBASEFILES) $(LIBC) 536 537CFLAGS = -nologo -GF -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \ 538 $(PCHFLAGS) $(OPTIMIZE) 539 540LINK_FLAGS = -nologo -debug -opt:ref,icf -machine:$(PROCESSOR_ARCHITECTURE) 541 542!if "$(CFG)" == "RELEASE" && "$(CCTYPE)" != "MSVC60" 543#see matching flag in CECFLAGS 544LINK_FLAGS = $(LINK_FLAGS) -ltcg 545!endif 546 547OBJOUT_FLAG = -Fo 548EXEOUT_FLAG = -Fe 549 550CFLAGS_O = $(CFLAGS) $(BUILDOPT) 551 552o = .obj 553 554# 555# Rules 556# 557 558.SUFFIXES : .c $(o) .dll .lib .exe .rc .res 559 560.c$(o): 561 $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $< 562 563.c.i: 564 $(CC) -c -I$(<D) $(CFLAGS_O) -P $(OBJOUT_FLAG)$@ $< 565 566.y.c: 567 $(NOOP) 568 569$(o).dll: 570 $(LINK32) -dll $(SUBSYS) $(LDLIBPATH) \ 571 -implib:$(*B).lib -def:$(*B).def \ 572 -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL) 573 574.rc.res: 575 $(RSC) -i.. $< 576 577# This must be relative to ../lib/CORE, else the ext dll build fails... 578PERLIMPLIB_EXP = perl$(PV).lib 579PERLIMPLIB = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib 580PERLDLL = $(MACHINE)\perl$(PV).dll 581 582DLLDIR = $(MACHINE)\dll 583PERLEXE = $(MACHINE)\perl.exe 584 585CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl 586GENUUDMAP = ..\generate_uudmap.exe 587 588UUDMAP_H = ..\uudmap.h 589BITCOUNT_H = ..\bitcount.h 590MG_DATA_H = ..\mg_data.h 591GENERATED_HEADERS = $(UUDMAP_H) $(BITCOUNT_H) $(MG_DATA_H) 592 593# Unicode data files generated by mktables 594FIRSTUNIFILE = ..\lib\unicore\Decomposition.pl 595UNIDATAFILES = ..\lib\unicore\Decomposition.pl \ 596 ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \ 597 ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst \ 598 ..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm \ 599 ..\lib\unicore\TestProp.pl 600 601PERLEXE_MANIFEST= .\perlexe.manifest 602PERLEXE_ICO = .\perlexe.ico 603PERLEXE_RES = .\perlexe.res 604PERLDLL_RES = 605 606# Directories of Unicode data files generated by mktables 607UNIDATADIR1 = ..\lib\unicore\To 608UNIDATADIR2 = ..\lib\unicore\lib 609 610# Nominate a target which causes extensions to be re-built 611# This used to be $(PERLEXE), but at worst it is the .dll that they depend 612# on and really only the interface - i.e. the .def file used to export symbols 613# from the .dll 614PERLDEP = perldll.def 615 616MAKE = nmake -nologo 617MAKE_BARE = nmake 618 619CFGSH_TMPL = config.ce 620CFGH_TMPL = config_H.ce 621 622XCOPY = xcopy /f /r /i /d /y 623RCOPY = xcopy /f /r /i /e /d /y 624NOOP = @rem 625NULL = 626 627DEL = del 628 629MICROCORE_SRC = \ 630 ..\av.c \ 631 ..\caretx.c \ 632 ..\deb.c \ 633 ..\doio.c \ 634 ..\doop.c \ 635 ..\dquote.c \ 636 ..\dump.c \ 637 ..\globals.c \ 638 ..\gv.c \ 639 ..\mro_core.c \ 640 ..\hv.c \ 641 ..\locale.c \ 642 ..\keywords.c \ 643 ..\mathoms.c \ 644 ..\mg.c \ 645 ..\numeric.c \ 646 ..\op.c \ 647 ..\pad.c \ 648 ..\perl.c \ 649 ..\perlapi.c \ 650 ..\perly.c \ 651 ..\pp.c \ 652 ..\pp_ctl.c \ 653 ..\pp_hot.c \ 654 ..\pp_pack.c \ 655 ..\pp_sort.c \ 656 ..\pp_sys.c \ 657 ..\reentr.c \ 658 ..\regcomp.c \ 659 ..\regexec.c \ 660 ..\run.c \ 661 ..\scope.c \ 662 ..\sv.c \ 663 ..\taint.c \ 664 ..\time64.c \ 665 ..\toke.c \ 666 ..\universal.c \ 667 ..\utf8.c \ 668 ..\util.c 669 670EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c 671 672!IF "$(PERL_MALLOC)" == "define" 673EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c 674!ENDIF 675 676EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c .\win32io.c 677 678WIN32_SRC = \ 679 .\wince.c \ 680 .\wincesck.c \ 681 .\win32thread.c 682 683!IF "$(CRYPT_SRC)" != "" 684WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC) 685!ENDIF 686 687CORE_NOCFG_H = \ 688 ..\av.h \ 689 ..\cop.h \ 690 ..\cv.h \ 691 ..\dosish.h \ 692 ..\embed.h \ 693 ..\form.h \ 694 ..\gv.h \ 695 ..\handy.h \ 696 ..\hv.h \ 697 ..\hv_func.h \ 698 ..\iperlsys.h \ 699 ..\mg.h \ 700 ..\nostdio.h \ 701 ..\op.h \ 702 ..\opcode.h \ 703 ..\perl.h \ 704 ..\perlapi.h \ 705 ..\perlsdio.h \ 706 ..\perly.h \ 707 ..\pp.h \ 708 ..\proto.h \ 709 ..\regexp.h \ 710 ..\scope.h \ 711 ..\sv.h \ 712 ..\thread.h \ 713 ..\unixish.h \ 714 ..\utf8.h \ 715 ..\util.h \ 716 ..\warnings.h \ 717 ..\XSUB.h \ 718 ..\EXTERN.h \ 719 ..\perlvars.h \ 720 ..\intrpvar.h \ 721 .\include\dirent.h \ 722 .\include\netdb.h \ 723 .\include\sys\errno2.h \ 724 .\include\sys\socket.h \ 725 .\win32.h 726 727DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \ 728 Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \ 729 Sys/Hostname 730 731STATIC_EXT = DynaLoader 732 733DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader 734 735ERRNO_PM = $(LIBDIR)\Errno.pm 736 737 738EXTENSION_PM = \ 739 $(ERRNO_PM) 740 741CFG_VARS = \ 742 "INST_TOP=$(INST_TOP)" \ 743 "INST_VER=$(INST_VER)" \ 744 "INST_ARCH=$(INST_ARCH)" \ 745 "archname=$(ARCHNAME)" \ 746 "cc=$(CC)" \ 747 "ld=$(LINK32)" \ 748 "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \ 749 "cppflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \ 750 "cf_by=vkon" \ 751 "cf_email=$(EMAIL)" \ 752#9cef8306 753 "d_mymalloc=$(PERL_MALLOC)" \ 754 "libs=$(LIBFILES)" \ 755 "incpath=$(CCINCDIR)" \ 756 "libperl=$(PERLIMPLIB_EXP)" \ 757 "libpth=$(LIBPATH)" \ 758 "libc=$(LIBC)" \ 759 "make=$(MAKE_BARE)" \ 760 "static_ext=$(STATIC_EXT)" \ 761 "dynamic_ext=$(DYNAMIC_EXT)" \ 762 "usethreads=$(USE_ITHREADS)" \ 763 "useithreads=$(USE_ITHREADS)" \ 764 "usemultiplicity=$(USE_MULTI)" \ 765 "use64bitint=undef" \ 766 "uselargefiles=undef" \ 767 "default_inc_excludes_dot=$(DEFAULT_INC_EXCLUDES_DOT)" \ 768 "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \ 769 "optimize=$(OPTIMIZE)" \ 770 "WIN64=$(WIN64)" 771 772# 773# filenames given to xsubpp must have forward slashes (since it puts 774# full pathnames in #line strings) 775XSUBPP = $(HPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \ 776 -C++ -prototypes 777 778 779# 780# Top targets 781# 782 783all: hostminiperl force_config_h ..\lib\buildcustomize.pl .\config.h ..\git_version.h $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) MakePPPort Extensions PostExt 784 785$(DYNALOADER)$(o) : $(DYNALOADER).c config.h $(EXTDIR)\DynaLoader\dlutils.c 786 787#convenience target 788configpm_targ : $(CONFIGPM) 789 790force_config_h: 791 -@$(DEL) /f config.h 792 -@$(DEL) /f config.sh 793 -@$(DEL) /f ..\config.h 794 -@$(DEL) /f ..\config.sh 795 -@$(DEL) $(PERLEXE_RES) 796 -@mkdir ..\host 797 -@copy $(HPERL) ..\host\miniperl.exe 798 -@copy $(GENUUDMAP) ..\host\generate_uudmap.exe 799 -@$(MAKE) -f Makefile distclean 800 -@copy ..\host\miniperl.exe $(HPERL) 801 -@copy ..\host\generate_uudmap.exe $(GENUUDMAP) 802 $(GENUUDMAP) $(GENERATED_HEADERS) 803 type NUL > force_config_h 804 805$(UUDMAP_H) $(MG_DATA_H) : $(BITCOUNT_H) 806 807$(BITCOUNT_H) : 808 $(GENUUDMAP) $(GENERATED_HEADERS) 809 810$(CONFIGPM) : $(HPERL) ..\config.sh config_h.PL ..\git_version.h 811 cd .. && $(HPERL) -Ilib configpm --no-glossary 812 if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) 813 $(XCOPY) ..\*.h $(COREDIR)\*.* 814 $(XCOPY) *.h $(COREDIR)\*.* 815 $(RCOPY) include $(COREDIR)\*.* 816 if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM) 817 818.\config.h: $(CONFIGPM) ..\config.sh 819 -@$(DEL) /f config.h 820 -$(HPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(COREDIR)" "CONFIG_H=config.h" 821 copy config.h ..\config.h 822 823..\config.sh : config.ce config_sh.PL FindExt.pm 824 -@$(DEL) /f config.sh 825 $(HPERL) -I..\lib -I. config_sh.PL $(CFG_VARS) config.ce > ..\config.sh 826 827..\git_version.h : ..\make_patchnum.pl 828 cd .. && $(HPERL) -Ilib make_patchnum.pl && cd win32 829 830# make sure that we recompile perl.c if the git version changes 831$(DLLDIR)\perl.obj : ..\git_version.h 832 833MakePPPort: $(HPERL) $(CONFIGPM) Extensions_nonxs 834 $(HPERL) -I..\lib ..\mkppport 835 836MakePPPort_clean: 837 -if exist $(HPERL) $(HPERL) -I..\lib ..\mkppport --clean 838 839#---------------------------------------------------------------------------------- 840NOT_COMPILE_EXT = 841!if "$(MACHINE)" == "wince-sh3-palm-wce211" 842NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap 843!endif 844!if "$(MACHINE)" == "wince-mips-palm-wce211" 845NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap 846!endif 847 848Extensions: ..\make_ext.pl $(CONFIGPM) 849 $(HPERL) -I..\lib -I. ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all \ 850 !POSIX !Win32 !Win32API/File !Time/HiRes !Time/Piece !re !SDBM_File $(NOT_COMPILE_EXT) 851 852 853Extensions_nonxs: ..\make_ext.pl ..\lib\buildcustomize.pl $(CONFIGPM) ..\pod\perlfunc.pod 854 $(XCOPY) ..\*.h $(COREDIR)\*.* 855 $(HPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs 856 857Extensions_clean: 858 -if exist $(HPERL) $(HPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean 859 860PostExt: rebuild_storable 861 862rebuild_storable: $(PERLEXE) 863 $(PERLEXE) -I..\lib -I. ..\dist\Storable\stacksize --core 864 cd ..\dist\Storable 865 $(MAKE) PERL_CORE=1 866 cd ..\..\win32 867 868#---------------------------------------------------------------------------------- 869 870$(PERLEXE_RES): perlexe.rc perl.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO) 871 rc $(RCDEFS) perlexe.rc 872 873clean: Extensions_clean 874 -if exist .\$(MACHINE)\dll rmdir /s /q .\$(MACHINE)\dll 875 -@$(DEL) .\$(MACHINE)\*.obj 876 -@$(DEL) .\$(MACHINE)\*.exe 877 -@$(DEL) .\$(MACHINE)\*.dll 878 -@$(DEL) .\$(MACHINE)\*.lib 879 -@$(DEL) .\$(MACHINE)\*.exp 880 -@$(DEL) .\$(MACHINE)\*.pdb 881 -@$(DEL) ..\git_version.h 882 -@$(DEL) config.h perl.res 883 -@$(DEL) ..\t\test_state 884 885XDLLOBJS = \ 886$(DLLDIR)\av.obj \ 887$(DLLDIR)\caretx.obj \ 888$(DLLDIR)\deb.obj \ 889$(DLLDIR)\doio.obj \ 890$(DLLDIR)\doop.obj \ 891$(DLLDIR)\dquote.obj \ 892$(DLLDIR)\dump.obj \ 893$(DLLDIR)\globals.obj \ 894$(DLLDIR)\gv.obj \ 895$(DLLDIR)\mro_core.obj \ 896$(DLLDIR)\hv.obj \ 897$(DLLDIR)\locale.obj \ 898$(DLLDIR)\keywords.obj \ 899$(DLLDIR)\mathoms.obj \ 900$(DLLDIR)\mg.obj \ 901$(DLLDIR)\numeric.obj \ 902$(DLLDIR)\op.obj \ 903$(DLLDIR)\pad.obj \ 904$(DLLDIR)\perl.obj \ 905$(DLLDIR)\perlapi.obj \ 906$(DLLDIR)\perlio.obj \ 907$(DLLDIR)\perly.obj \ 908$(DLLDIR)\pp.obj \ 909$(DLLDIR)\pp_ctl.obj \ 910$(DLLDIR)\pp_hot.obj \ 911$(DLLDIR)\pp_pack.obj \ 912$(DLLDIR)\pp_sort.obj \ 913$(DLLDIR)\pp_sys.obj \ 914$(DLLDIR)\reentr.obj \ 915$(DLLDIR)\regcomp.obj \ 916$(DLLDIR)\regexec.obj \ 917$(DLLDIR)\run.obj \ 918$(DLLDIR)\scope.obj \ 919$(DLLDIR)\sv.obj \ 920$(DLLDIR)\taint.obj \ 921$(DLLDIR)\time64.obj \ 922$(DLLDIR)\toke.obj \ 923$(DLLDIR)\universal.obj \ 924$(DLLDIR)\utf8.obj \ 925$(DLLDIR)\util.obj \ 926$(DLLDIR)\win32thread.obj \ 927$(DLLDIR)\wince.obj \ 928$(DLLDIR)\win32io.obj \ 929$(DLLDIR)\wincesck.obj \ 930$(DLLDIR)\perllib.obj \ 931$(DLLDIR)\DynaLoader.obj 932!IF "$(PERL_MALLOC)" == "define" 933XDLLOBJS = $(XDLLOBJS) $(DLLDIR)\malloc.obj 934!ENDIF 935!IF "$(CRYPT_SRC)" != "" 936XDLLOBJS = $(XDLLOBJS) $(DLLDIR)\fcrypt.obj 937!ENDIF 938 939#sanity checks to make sure all our external files (celib, w32console, and 940#MS CE SDK) are locatable 941lib_check : 942 @if not exist $(CECONSOLEDIR)\$(MACHINE)\w32console.obj cmd /k \ 943 "echo w32console.obj doesn't seem to exist, check your w32console directory \ 944 & exit 1" 945 @if not exist $(CELIBDLLDIR)\$(MACHINE)-release\celib.lib cmd /k \ 946 "echo celib.lib doesn't seem to exist, check your celib directory \ 947 & exit 1" 948 @for %X in ( $(LIBC) ) do @if exist %~^$LIB:X ( exit 0 ) \ 949 else ( echo $(LIBC) doesn't seem to exist, check your build enviroment & exit 1 ) 950 951#specific header files to check picked at random 952header_check : 953 @if not exist $(CELIBDLLDIR)\inc\cewin32.h cmd /k \ 954 "echo cewin32.h doesn't seem to exist, check your celib directory \ 955 & exit 1" 956 @for %X in (ceconfig.h) do @if exist %~^$INCLUDE:X ( exit 0 ) \ 957 else ( echo ceconfig.h doesn't seem to exist, check your build enviroment & exit 1 ) 958 959{$(SRCDIR)}.c{$(DLLDIR)}.obj: 960 $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $< 961 962# compiler explains that it will optimize toke.c if we'll give it an 963# option -QMOb<num> with num>=4178 964$(DLLDIR)\toke.obj: 965 $(CC) -c $(CFLAGS_O) -QMOb9000 -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ ..\toke.c 966 967{$(SRCDIR)/win32}.c{$(DLLDIR)}.obj: 968 $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $< 969 970# -DPERL_IMPLICIT_SYS needs C++ for perllib.c 971# This is the only file that depends on perlhost.h, vmem.h, and vdir.h 972!IF "$(USE_IMP_SYS)" == "define" 973$(DLLDIR)\perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h 974 $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c 975 rem (frustrated) mv perllib.obj $(DLLDIR) 976!ENDIF 977 978perldll.def : $(HPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl .\config.h 979 $(HPERL) -I..\lib create_perllibst_h.pl 980 $(HPERL) -I..\lib -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \ 981 CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) TARG_DIR=..\ > perldll.def 982 983$(PERLDLL) : header_check lib_check $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES) 984 $(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ \ 985 $(SUBSYS) $(LDLIBPATH) \ 986 $(LINK_FLAGS) $(LIBFILES) \ 987 $(XDLLOBJS) $(PERLDLL_RES) 988 989$(DLLDIR) : 990 if not exist "$(DLLDIR)" mkdir "$(DLLDIR)" 991 992$(EXTDIR)\DynaLoader\DynaLoader.c : 993 $(HPERL) -I..\lib -I. ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader 994 995$(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c 996 $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \ 997 $(EXTDIR)\DynaLoader\DynaLoader.c 998 999XPERLEXEOBJS = \ 1000$(MACHINE)\perlmaince.obj 1001 1002..\lib\buildcustomize.pl : 1003 $(HPERL) -I..\lib -f ..\write_buildcustomize.pl .. 1004 1005$(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS) 1006 $(XCOPY) $(MACHINE)\*.lib $(COREDIR) 1007 $(LINK32) $(SUBSYS) $(LDLIBPATH) \ 1008 -entry:wWinMainCRTStartup \ 1009 -out:$(MACHINE)\perl.exe \ 1010 -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \ 1011 $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES) 1012 1013$(MACHINE)\perlmaince.obj : perlmaince.c 1014 $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmaince.c 1015 1016iodll: $(IO_DLL) 1017socketdll: $(SOCKET_DLL) 1018dumperdll: $(DUMPER_DLL) 1019 1020dlls: socketdll iodll dumperdll 1021 -xmkdir -p $(MACHINE)/lib/auto/IO 1022 copy ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO 1023 copy ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO 1024 -xmkdir $(MACHINE)/lib/auto/Socket 1025 copy ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket 1026 copy ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket 1027 -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper 1028 copy ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper 1029 copy ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper 1030 1031makedist: all dlls 1032 $(COPY) $(CELIBPATH)\celib.dll $(MACHINE) 1033 copy perl.txt $(MACHINE) 1034 copy registry.bat $(MACHINE) 1035 copy ../lib/Config.pm $(MACHINE)/lib 1036 cd $(MACHINE) 1037 -@$(DEL) perl-$(MACHINE).tar.gz 1038 sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib" 1039 gzip -9 perl-$(MACHINE).tar 1040 mv perl-$(MACHINE).tar.gz h:/freenet/new 1041 cd .. 1042 1043install: all 1044 -cemkdir "$(INSTALL_ROOT)" 1045 -cemkdir "$(INSTALL_ROOT)\bin" 1046 -cemkdir "$(INSTALL_ROOT)\lib" 1047 $(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin" 1048 $(CECOPY) "pc:$(MACHINE)/perl$(PV).dll" "ce:$(INSTALL_ROOT)/bin" 1049 $(CECOPY) "pc:../lib/Config.pm" "ce:$(INSTALL_ROOT)/lib" 1050 1051$(UNIDATAFILES) : $(HPERL) $(CONFIGPM) ..\lib\unicore\mktables MakePPPort 1052 cd ..\lib\unicore && \ 1053 $(HPERL) -I.. -I..\..\lib mktables -P ..\..\pod -maketest -makelist -p -check $@ $(FIRSTUNIFILE) 1054 1055dist: all 1056 $(HPERL) -I..\lib ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) 1057 1058zipdist: all 1059 $(HPERL) -I..\lib ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) 1060 $(HPERL) -I..\lib ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip 1061 1062zip: 1063 $(HPERL) -I..\lib ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip 1064 1065hostminiperl: ..\miniperl.exe 1066 1067..\miniperl.exe: 1068 set PATH=$(CCHOME)\bin;$(PATH) 1069 $(MAKE) -f Makefile "CCHOME=$(MSVCDIR)" "CCINCDIR=$(CCHOME)\include" "CCLIBDIR=$(CCHOME)\lib" "INCLUDE=$(CCHOME)\include" "LIB=$(CCHOME)\lib" "LINK_FLAGS=" .\config.h ..\miniperl.exe 1070 1071host-install: 1072 perl -MConfig -MExtUtils::Install -we "install({'../lib/CORE', qq#$$Config{installprefixexp}/lib/CORE#},1)" 1073 perl -MConfig -MExtUtils::Install -we "install({'../lib', qq#$$Config{installprefixexp}/lib#},1)" 1074 perl -MConfig -MFile::Copy -we "copy qq#./$(MACHINE)/perl$(PV).lib#, qq#$$Config{installprefixexp}/lib/CORE#" 1075 perl -MConfig -we "system qq#perl -pi.bak -we \"s{((arch^|priv)libexp)='.*'}{\$$1='# . \ 1076 quotemeta($$Config{installprefixexp}) . \ 1077 qq#/lib'}\" $$Config{installprefixexp}/lib/Config.pm#" 1078