X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/f04c104ca079536f32d12d774d450bc3e2aae26c..1a6c65ed95ec85cb77cfbbbf22efbce4c1e4b962:/win32/makefile.mk diff --git a/win32/makefile.mk b/win32/makefile.mk index 37c1cca..41aa147 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -7,7 +7,7 @@ # MS Platform SDK 64-bit compiler and tools **experimental** # # This is set up to build a perl.exe that runs off a shared library -# (perl510.dll). Also makes individual DLLs for the XS extensions. +# (perl511.dll). Also makes individual DLLs for the XS extensions. # ## @@ -26,6 +26,11 @@ INST_DRV *= c: INST_TOP *= $(INST_DRV)\perl # +# Uncomment if you want to build a 32-bit Perl using a 32-bit compiler +# on a 64-bit version of Windows. +#WIN64 *= undef + +# # Comment this out if you DON'T want your perl installation to be versioned. # This means that the new installation will overwrite any files from the # old installation at the same INST_TOP location. Leaving it enabled is @@ -34,7 +39,7 @@ INST_TOP *= $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -#INST_VER *= \5.10.0 +#INST_VER *= \5.11.4 # # Comment this out if you DON'T want your perl installation to have @@ -112,7 +117,7 @@ USE_LARGE_FILES *= define #CCTYPE *= MSVC90 # Borland 5.02 or later #CCTYPE *= BORLAND -# MinGW with gcc-2.95.2 or later +# MinGW or mingw-w64 with gcc-2.95.2 or later CCTYPE *= GCC # @@ -188,7 +193,7 @@ CRYPT_SRC *= fcrypt.c # set this to additionally provide a statically linked perl-static.exe. # Note that dynamic loading will not work with this perl, so you must # include required modules statically using the STATIC_EXT or ALL_STATIC -# variables below. A static library perl510s.lib will also be created. +# variables below. A static library perl511s.lib will also be created. # Ordinary perl.exe is not affected by this option. # #BUILD_STATIC *= define @@ -220,6 +225,29 @@ CCINCDIR *= $(CCHOME)\include CCLIBDIR *= $(CCHOME)\lib # +# If building with gcc-4.x.x (or x86_64-w64-mingw32-gcc-4.x.x), then +# uncomment the following assignment to GCC_4XX, make sure that CCHOME +# has been set correctly above, and uncomment the appropriate +# GCCHELPERDLL line. +# The name of the dll can change, depending upon which vendor has supplied +# your 4.x.x compiler, and upon the values of "x". +# (The dll will be in your mingw/bin folder, so check there if you're +# unsure about the correct name.) +# Without these corrections, the op/taint.t test script will fail. +# +#GCC_4XX *= define +#GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_sjlj-1.dll +#GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_dw2-1.dll +#GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_1.dll + +# +# uncomment this if you are using x86_64-w64-mingw32 cross-compiler +# ie if your gcc executable is called 'x86_64-w64-mingw32-gcc' +# instead of the usual 'gcc'. +# +#GCCCROSS *= define + +# # Additional compiler flags can be specified here. # BUILDOPT *= $(BUILDOPTEXTRA) @@ -330,7 +358,7 @@ BUILDOPT += -DPERL_IMPLICIT_CONTEXT BUILDOPT += -DPERL_IMPLICIT_SYS .ENDIF -.IMPORT .IGNORE : PROCESSOR_ARCHITECTURE PROCESSOR_ARCHITEW6432 +.IMPORT .IGNORE : PROCESSOR_ARCHITECTURE PROCESSOR_ARCHITEW6432 WIN64 PROCESSOR_ARCHITECTURE *= x86 @@ -382,22 +410,21 @@ DELAYLOAD *= -DELAYLOAD:ws2_32.dll delayimp.lib # Visual C++ 2005 and 2008 (VC++ 8.x and 9.x) create manifest files for EXEs and # DLLs. These either need copying everywhere with the binaries, or else need -# embedding in them otherwise MSVCR80.dll or MSVCR90.dll won't be found. Embed -# them for simplicity, and delete them afterwards so that they don't get -# installed too. -.IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \ - "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" -EMBED_EXE_MANI = mt -nologo -manifest $@.manifest -outputresource:$@;1 && \ - del $@.manifest -EMBED_DLL_MANI = mt -nologo -manifest $@.manifest -outputresource:$@;2 && \ - del $@.manifest -.ENDIF +# embedding in them otherwise MSVCR80.dll or MSVCR90.dll won't be found. For +# simplicity, embed them if they exist (and delete them afterwards so that they +# don't get installed too). +EMBED_EXE_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 && \ + if exist $@.manifest del $@.manifest +EMBED_DLL_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \ + if exist $@.manifest del $@.manifest ARCHDIR = ..\lib\$(ARCHNAME) COREDIR = ..\lib\CORE AUTODIR = ..\lib\auto LIBDIR = ..\lib EXTDIR = ..\ext +DISTDIR = ..\dist +CPANDIR = ..\cpan PODDIR = ..\pod EXTUTILSDIR = $(LIBDIR)\ExtUtils HTMLDIR = .\html @@ -445,7 +472,7 @@ LIBFILES = $(CRYPT_LIB) \ kernel32.lib user32.lib gdi32.lib winspool.lib \ comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \ netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \ - version.lib odbc32.lib odbccp32.lib \ + version.lib odbc32.lib odbccp32.lib comctl32.lib \ import32.lib $(LIBC) .IF "$(CFG)" == "Debug" @@ -476,11 +503,15 @@ LINK_FLAGS += -L"$(CCLIBDIR)\Release" .ELIF "$(CCTYPE)" == "GCC" -CC = gcc -LINK32 = g++ -LIB32 = ar rc -IMPLIB = dlltool -RSC = windres +.IF "$(GCCCROSS)" == "define" +ARCHPREFIX = x86_64-w64-mingw32- +.ENDIF + +CC = $(ARCHPREFIX)gcc +LINK32 = $(ARCHPREFIX)g++ +LIB32 = $(ARCHPREFIX)ar rc +IMPLIB = $(ARCHPREFIX)dlltool +RSC = $(ARCHPREFIX)windres i = .i o = .o @@ -492,18 +523,24 @@ a = .a INCLUDES = -I.\include -I. -I.. -I$(COREDIR) DEFINES = -DWIN32 $(CRYPT_FLAG) +.IF "$(WIN64)" == "define" +DEFINES += -DWIN64 -DCONSERVATIVE +.ENDIF LOCDEFS = -DPERLDLL -DPERL_CORE SUBSYS = console CXX_FLAG = -xc++ -LIBC = -lmsvcrt +# Current releases of MinGW 5.1.4 (as of 11-Aug-2009) will fail to link +# correctly if -lmsvcrt is specified explicitly. +LIBC = +#LIBC = -lmsvcrt # same libs as MSVC LIBFILES = $(CRYPT_LIB) $(LIBC) \ -lmoldname -lkernel32 -luser32 -lgdi32 \ -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 \ -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr \ - -lwinmm -lversion -lodbc32 -lodbccp32 + -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 .IF "$(CFG)" == "Debug" OPTIMIZE = -g -O2 -DDEBUGGING @@ -522,7 +559,7 @@ LIBOUT_FLAG = # NOTE: we assume that GCC uses MSVCRT.DLL # See comments about PERL_MSVCRT_READFIX in the "cl" compiler section below. -BUILDOPT += -fno-strict-aliasing -DPERL_MSVCRT_READFIX +BUILDOPT += -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX .ELSE @@ -601,14 +638,14 @@ LIBBASEFILES = $(CRYPT_LIB) \ oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \ comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \ netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \ - version.lib odbc32.lib odbccp32.lib + version.lib odbc32.lib odbccp32.lib comctl32.lib # The 64 bit Platform SDK compilers contain a runtime library that doesn't # include the buffer overrun verification code used by the /GS switch. # Since the code links against libraries that are compiled with /GS, this # "security cookie verification" must be included via bufferoverlow.lib. .IF "$(WIN64)" == "define" -LIBBASEFILES = $(LIBBASEFILES) bufferoverflowU.lib +LIBBASEFILES += bufferoverflowU.lib .ENDIF # we add LIBC here, since we may be using PerlCRT.dll @@ -629,6 +666,14 @@ LIBOUT_FLAG = /out: CFLAGS_O = $(CFLAGS) $(BUILDOPT) +.IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \ + "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" +LINK_FLAGS += "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'" +.ELSE +RSC_FLAGS = -DINCLUDE_MANIFEST +.ENDIF + + # used to allow local linking flags that are not propogated into Config.pm, # currently unused # -- BKS, 12-12-1999 @@ -685,9 +730,9 @@ $(o).dll: .rc.res: .IF "$(CCTYPE)" == "GCC" - $(RSC) --use-temp-file --include-dir=. --include-dir=.. -O COFF -i $< -o $@ + $(RSC) --use-temp-file --include-dir=. --include-dir=.. -O COFF -D INCLUDE_MANIFEST -i $< -o $@ .ELSE - $(RSC) -i.. $< + $(RSC) -i.. -DINCLUDE_MANIFEST $< .ENDIF # @@ -709,15 +754,15 @@ PERLSTATIC = .ENDIF # Unicode data files generated by mktables -UNIDATAFILES = ..\lib\unicore\Canonical.pl ..\lib\unicore\Exact.pl \ - ..\lib\unicore\Properties ..\lib\unicore\Decomposition.pl \ +UNIDATAFILES = ..\lib\unicore\Decomposition.pl ..\lib\unicore\TestProp.pl \ ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \ - ..\lib\unicore\PVA.pl + ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst # Directories of Unicode data files generated by mktables UNIDATADIR1 = ..\lib\unicore\To UNIDATADIR2 = ..\lib\unicore\lib +PERLEXE_MANIFEST= .\perlexe.manifest PERLEXE_ICO = .\perlexe.ico PERLEXE_RES = .\perlexe.res PERLDLL_RES = @@ -758,7 +803,6 @@ UTILS = \ ..\utils\cpan2dist \ ..\utils\shasum \ ..\utils\instmodsh \ - ..\pod\checkpods \ ..\pod\pod2html \ ..\pod\pod2latex \ ..\pod\pod2man \ @@ -782,10 +826,20 @@ CFGH_TMPL = config_H.bc .ELIF "$(CCTYPE)" == "GCC" +.IF "$(WIN64)" == "define" +.IF "$(GCCCROSS)" == "define" +CFGSH_TMPL = config.gc64 +CFGH_TMPL = config_H.gc64 +.ELSE +CFGSH_TMPL = config.gc64nox +CFGH_TMPL = config_H.gc64nox +.ENDIF +.ELSE CFGSH_TMPL = config.gc CFGH_TMPL = config_H.gc -PERLIMPLIB = ..\libperl510$(a) -PERLSTATICLIB = ..\libperl510s$(a) +.ENDIF +PERLIMPLIB = ..\libperl511$(a) +PERLSTATICLIB = ..\libperl511s$(a) .ELSE @@ -801,20 +855,14 @@ CFGH_TMPL = config_H.vc # makedef.pl must be updated if this changes, and this should normally # only change when there is an incompatible revision of the public API. -PERLIMPLIB *= ..\perl510$(a) -PERLSTATICLIB *= ..\perl510s$(a) -PERLDLL = ..\perl510.dll +PERLIMPLIB *= ..\perl511$(a) +PERLSTATICLIB *= ..\perl511s$(a) +PERLDLL = ..\perl511.dll XCOPY = xcopy /f /r /i /d /y RCOPY = xcopy /f /r /i /e /d /y NOOP = @rem -# -# filenames given to xsubpp must have forward slashes (since it puts -# full pathnames in #line strings) -XSUBPP = ..\$(MINIPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \ - -C++ -prototypes - MICROCORE_SRC = \ ..\av.c \ ..\deb.c \ @@ -850,8 +898,7 @@ MICROCORE_SRC = \ ..\toke.c \ ..\universal.c \ ..\utf8.c \ - ..\util.c \ - ..\xsutils.c + ..\util.c EXTRACORE_SRC += perllib.c @@ -876,8 +923,6 @@ WIN32_SRC += .\win32io.c WIN32_SRC += .\$(CRYPT_SRC) .ENDIF -DLL_SRC = $(DYNALOADER).c - X2P_SRC = \ ..\x2p\a2p.c \ ..\x2p\hash.c \ @@ -925,9 +970,10 @@ CORE_NOCFG_H = \ .\include\sys\socket.h \ .\win32.h -CORE_H = $(CORE_NOCFG_H) .\config.h +CORE_H = $(CORE_NOCFG_H) .\config.h ..\git_version.h UUDMAP_H = ..\uudmap.h +BITCOUNT_H = ..\bitcount.h MICROCORE_OBJ = $(MICROCORE_SRC:db:+$(o)) CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:db:+$(o)) @@ -935,7 +981,7 @@ WIN32_OBJ = $(WIN32_SRC:db:+$(o)) MINICORE_OBJ = $(MINIDIR)\{$(MICROCORE_OBJ:f) miniperlmain$(o) perlio$(o)} MINIWIN32_OBJ = $(MINIDIR)\{$(WIN32_OBJ:f)} MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ) -DLL_OBJ = $(DLL_SRC:db:+$(o)) +DLL_OBJ = $(DYNALOADER) X2P_OBJ = $(X2P_SRC:db:+$(o)) GENUUDMAP_OBJ = $(GENUUDMAP:db:+$(o)) @@ -961,7 +1007,7 @@ STATIC_EXT = * !Win32 !SDBM_File !Encode STATIC_EXT = Win32CORE .ENDIF -DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader +DYNALOADER = ..\DynaLoader$(o) # vars must be separated by "\t+~\t+", since we're using the tempfile # version of config_sh.pl (we were overflowing someone's buffer by @@ -1022,13 +1068,15 @@ ODBCCP32_DLL = $(SystemRoot)\system32\odbccp32.dll ODBCCP32_DLL = $(windir)\system\odbccp32.dll .ENDIF +ICWD = -I..\cpan\Cwd -I..\cpan\Cwd\lib + # # Top targets # -all : CHECKDMAKE .\config.h $(GLOBEXE) $(MINIPERL) $(MK2) \ - $(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) MakePPPort \ - $(PERLEXE) $(X2P) Extensions $(PERLSTATIC) +all : CHECKDMAKE .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) $(MK2) \ + $(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) MakePPPort \ + $(PERLEXE) $(X2P) Extensions Extensions_nonxs $(PERLSTATIC) ..\regcharclass.h : ..\Porting\regcharclass.pl cd .. && miniperl Porting\regcharclass.pl && cd win32 @@ -1039,12 +1087,10 @@ regnodes : ..\regnodes.h ..\regexec$(o) : ..\regnodes.h ..\regcharclass.h -reonly : regnodes .\config.h $(GLOBEXE) $(MINIPERL) $(MK2) \ - $(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \ +reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) $(MK2) \ + $(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \ $(X2P) Extensions_reonly -$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c - static: $(PERLEXESTATIC) #---------------------------------------------------------------- @@ -1126,32 +1172,40 @@ config.w32 : $(CFGSH_TMPL) -del /f config.h copy $(CFGH_TMPL) config.h +..\git_version.h : $(MINIPERL) ..\make_patchnum.pl + cd .. && miniperl -Ilib make_patchnum.pl + +# make sure that we recompile perl.c if the git version changes +..\perl$(o) : ..\git_version.h + ..\config.sh : config.w32 $(MINIPERL) config_sh.PL FindExt.pm $(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file \ $(mktmp $(CFG_VARS)) config.w32 > ..\config.sh -# this target is for when changes to the main config.sh happen -# edit config.{b,v,g}c and make this target once for each supported -# compiler (e.g. `dmake CCTYPE=BORLAND regen_config_h`) +# this target is for when changes to the main config.sh happen. +# edit config.gc, then make perl using GCC in a minimal configuration (i.e. +# with MULTI, ITHREADS, IMP_SYS, LARGE_FILES, PERLIO and CRYPT off), then make +# this target to regenerate config_H.gc. +# unfortunately, some further manual editing is also then required to restore all +# the special _MSC_VER handling that is otherwise lost. +# repeat for config.bc and config_H.bc (using BORLAND), except that there is no +# _MSC_VER stuff in that case. regen_config_h: - perl config_sh.PL --cfgsh-option-file $(mktmp $(CFG_VARS)) \ + $(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file $(mktmp $(CFG_VARS)) \ $(CFGSH_TMPL) > ..\config.sh - -cd .. && del /f perl.exe - -cd .. && del /f perl*.dll - cd .. && perl configpm + $(MINIPERL) -I..\lib ..\configpm --chdir=.. -del /f $(CFGH_TMPL) - -mkdir $(COREDIR) - -perl config_h.PL "INST_VER=$(INST_VER)" + -$(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)" rename config.h $(CFGH_TMPL) $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl - cd .. && miniperl configpm + $(MINIPERL) -I..\lib ..\configpm --chdir=.. if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) $(XCOPY) ..\*.h $(COREDIR)\*.* $(XCOPY) *.h $(COREDIR)\*.* $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.* $(RCOPY) include $(COREDIR)\*.* - $(MINIPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)" \ + $(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)" \ || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE) $(MINIPERL) : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS) @@ -1173,7 +1227,7 @@ $(MINIDIR) : if not exist "$(MINIDIR)" mkdir "$(MINIDIR)" $(MINICORE_OBJ) : $(CORE_NOCFG_H) - $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB $(OBJOUT_FLAG)$@ ..\$(*B).c + $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ ..\$(*B).c $(MINIWIN32_OBJ) : $(CORE_NOCFG_H) $(CC) -c $(CFLAGS) $(OBJOUT_FLAG)$@ $(*B).c @@ -1192,6 +1246,7 @@ perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h # 1. we don't want to rebuild miniperl.exe when config.h changes # 2. we don't want to rebuild miniperl.exe with non-default config.h +# 3. we can't have miniperl.exe depend on git_version.h, as miniperl creates it $(MINI_OBJ) : $(CORE_NOCFG_H) $(WIN32_OBJ) : $(CORE_H) @@ -1202,9 +1257,9 @@ $(DLL_OBJ) : $(CORE_H) $(X2P_OBJ) : $(CORE_H) -perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl - $(MINIPERL) -I..\lib buildext.pl --create-perllibst-h - $(MINIPERL) -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) \ +perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl create_perllibst_h.pl + $(MINIPERL) -I..\lib create_perllibst_h.pl + $(MINIPERL) -I..\lib -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) \ $(BUILDOPT) CCTYPE=$(CCTYPE) > perldll.def $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static @@ -1218,7 +1273,7 @@ $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static $(mktmp $(LKPRE) $(PERLDLL_OBJ) \ $(shell @type Extensions_static) \ $(LIBFILES) $(LKPOST)) - dlltool --output-lib $(PERLIMPLIB) \ + $(IMPLIB) --output-lib $(PERLIMPLIB) \ --dllname $(PERLDLL:b).dll \ --def perldll.def \ --base-file perl.base \ @@ -1256,10 +1311,7 @@ $(PERLSTATICLIB): Extensions_static .ENDIF $(XCOPY) $(PERLSTATICLIB) $(COREDIR) -$(PERLEXE_ICO): $(MINIPERL) ..\uupacktool.pl $(PERLEXE_ICO).packd - $(MINIPERL) -I..\lib ..\uupacktool.pl -u $(PERLEXE_ICO).packd $(PERLEXE_ICO) - -$(PERLEXE_RES): perlexe.rc $(PERLEXE_ICO) +$(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO) $(MINIMOD) : $(MINIPERL) ..\minimod.pl cd .. && miniperl minimod.pl > lib\ExtUtils\Miniperl.pm @@ -1279,9 +1331,9 @@ $(MINIMOD) : $(MINIPERL) ..\minimod.pl ..\x2p\walk$(o) : ..\x2p\walk.c $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\walk.c -$(X2P) : $(MINIPERL) $(X2P_OBJ) - $(MINIPERL) ..\x2p\find2perl.PL - $(MINIPERL) ..\x2p\s2p.PL +$(X2P) : $(MINIPERL) $(X2P_OBJ) Extensions + $(MINIPERL) -I..\lib ..\x2p\find2perl.PL + $(MINIPERL) -I..\lib ..\x2p\s2p.PL .IF "$(CCTYPE)" == "BORLAND" $(LINK32) -Tpe -ap $(BLINK_FLAGS) \ @$(mktmp c0x32$(o) $(X2P_OBJ),$@,,$(LIBFILES),) @@ -1294,10 +1346,10 @@ $(X2P) : $(MINIPERL) $(X2P_OBJ) $(EMBED_EXE_MANI) .ENDIF -$(MINIDIR)\globals$(o) : $(UUDMAP_H) +$(MINIDIR)\globals$(o) : $(UUDMAP_H) $(BITCOUNT_H) -$(UUDMAP_H) : $(GENUUDMAP) - $(GENUUDMAP) >$(UUDMAP_H) +$(UUDMAP_H) $(BITCOUNT_H) : $(GENUUDMAP) + $(GENUUDMAP) $(UUDMAP_H) $(BITCOUNT_H) $(GENUUDMAP) : $(GENUUDMAP_OBJ) .IF "$(CCTYPE)" == "BORLAND" @@ -1339,8 +1391,6 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) .ENDIF copy $(PERLEXE) $(WPERLEXE) $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS - copy splittree.pl .. - $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) .IF "$(CCTYPE)" == "BORLAND" @@ -1360,53 +1410,43 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) $(EMBED_EXE_MANI) .ENDIF -$(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM) - if not exist $(AUTODIR) mkdir $(AUTODIR) - cd $(EXTDIR)\$(*B) && ..\$(MINIPERL) -I..\..\lib $(*B)_pm.PL - cd $(EXTDIR)\$(*B) && ..\$(MINIPERL) -I..\..\lib XSLoader_pm.PL - $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL) - $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL) - cd $(EXTDIR)\$(*B) && $(XSUBPP) dl_win32.xs > $(*B).c - $(XCOPY) $(EXTDIR)\$(*B)\dlutils.c . - -$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs - copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs +MakePPPort: $(MINIPERL) $(CONFIGPM) Extensions_nonxs + $(MINIPERL) -I..\lib $(ICWD) ..\mkppport -MakePPPort: $(MINIPERL) $(CONFIGPM) - $(MINIPERL) -I..\lib ..\mkppport +#------------------------------------------------------------------------------- +# There's no direct way to mark a dependency on +# DynaLoader.pm, so this will have to do +Extensions : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER) + $(XCOPY) ..\*.h $(COREDIR)\*.* + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic -MakePPPort_clean: - -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\mkppport --clean +Extensions_reonly : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER) + $(XCOPY) ..\*.h $(COREDIR)\*.* + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re -#------------------------------------------------------------------------------- -Extensions : buildext.pl $(PERLDEP) $(CONFIGPM) +Extensions_static : ..\make_ext.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM) $(XCOPY) ..\*.h $(COREDIR)\*.* - $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --dynamic - -if exist ext $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext --dynamic + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static + $(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static -Extensions_reonly : buildext.pl $(PERLDEP) $(CONFIGPM) +Extensions_nonxs : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(XCOPY) ..\*.h $(COREDIR)\*.* - $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --dynamic +re - -if exist ext $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext --dynamic +re + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs -Extensions_static : buildext.pl $(PERLDEP) $(CONFIGPM) +$(DYNALOADER) : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs $(XCOPY) ..\*.h $(COREDIR)\*.* - $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --static - -if exist ext $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext --static - $(MINIPERL) -I..\lib buildext.pl --list-static-libs > Extensions_static + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader Extensions_clean : - -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean - -if exist $(MINIPERL) if exist ext $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext clean + -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean Extensions_realclean : - -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) realclean - -if exist $(MINIPERL) if exist ext $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext realclean + -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean #------------------------------------------------------------------------------- -doc: $(PERLEXE) +doc: $(PERLEXE) ..\pod\perltoc.pod $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \ --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\ --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse @@ -1415,7 +1455,6 @@ doc: $(PERLEXE) # so please check that script before making structural changes here utils: $(PERLEXE) $(X2P) cd ..\utils && $(MAKE) PERL=$(MINIPERL) - copy ..\vms\perlvms.pod ..\pod\perlvms.pod copy ..\README.aix ..\pod\perlaix.pod copy ..\README.amiga ..\pod\perlamiga.pod copy ..\README.apollo ..\pod\perlapollo.pod @@ -1428,16 +1467,15 @@ utils: $(PERLEXE) $(X2P) copy ..\README.dos ..\pod\perldos.pod copy ..\README.epoc ..\pod\perlepoc.pod copy ..\README.freebsd ..\pod\perlfreebsd.pod + copy ..\README.haiku ..\pod\perlhaiku.pod copy ..\README.hpux ..\pod\perlhpux.pod copy ..\README.hurd ..\pod\perlhurd.pod copy ..\README.irix ..\pod\perlirix.pod copy ..\README.jp ..\pod\perljp.pod copy ..\README.ko ..\pod\perlko.pod copy ..\README.linux ..\pod\perllinux.pod - copy ..\README.machten ..\pod\perlmachten.pod copy ..\README.macos ..\pod\perlmacos.pod copy ..\README.macosx ..\pod\perlmacosx.pod - copy ..\README.mint ..\pod\perlmint.pod copy ..\README.mpeix ..\pod\perlmpeix.pod copy ..\README.netware ..\pod\perlnetware.pod copy ..\README.openbsd ..\pod\perlopenbsd.pod @@ -1453,13 +1491,16 @@ utils: $(PERLEXE) $(X2P) copy ..\README.tw ..\pod\perltw.pod copy ..\README.uts ..\pod\perluts.pod copy ..\README.vmesa ..\pod\perlvmesa.pod - copy ..\README.vms ..\pod\perlvms.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perl5100delta.pod ..\pod\perldelta.pod + copy ..\pod\perl5115delta.pod ..\pod\perldelta.pod cd ..\pod && $(MAKE) -f ..\win32\pod.mak converters - cd ..\lib && $(PERLEXE) lib_pm.PL $(PERLEXE) $(PL2BAT) $(UTILS) + $(PERLEXE) $(ICWD) ..\autodoc.pl .. + $(PERLEXE) $(ICWD) ..\pod\perlmodlib.pl -q + +..\pod\perltoc.pod: $(PERLEXE) Extensions Extensions_nonxs + $(PERLEXE) -f ..\pod\buildtoc --build-toc -q # Note that the pod cleanup in this next section is parsed (and regenerated # by pod/buildtoc so please check that script before making changes here @@ -1469,29 +1510,16 @@ distclean: realclean $(PERLIMPLIB) ..\miniperl$(a) $(MINIMOD) \ $(PERLEXESTATIC) $(PERLSTATICLIB) -del /f *.def *.map - -del /f $(DYNALOADER).c - -del /f $(EXTDIR)\DynaLoader\dl_win32.xs - -del /f $(EXTDIR)\DynaLoader\DynaLoader.pm - -del /f $(EXTDIR)\DynaLoader\XSLoader.pm -del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm -del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm - -del /f $(LIBDIR)\.exists $(LIBDIR)\attrs.pm $(LIBDIR)\DynaLoader.pm - -del /f $(LIBDIR)\XSLoader.pm $(LIBDIR)\lib.pm + -del /f $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm -del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm -del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm -del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm -del /f $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm - -del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm - -del /f $(LIBDIR)\Devel\PPPort.pm -del /f $(LIBDIR)\File\Glob.pm -del /f $(LIBDIR)\Storable.pm - -del /f $(LIBDIR)\Digest\MD5.pm - -del /f $(LIBDIR)\Digest\SHA.pm - -del /f $(LIBDIR)\PerlIO\encoding.pm - -del /f $(LIBDIR)\PerlIO\scalar.pm - -del /f $(LIBDIR)\PerlIO\via.pm -del /f $(LIBDIR)\Sys\Hostname.pm - -del /f $(LIBDIR)\threads\shared.pm -del /f $(LIBDIR)\Time\HiRes.pm -del /f $(LIBDIR)\Unicode\Normalize.pm -del /f $(LIBDIR)\Math\BigInt\FastCalc.pm @@ -1499,58 +1527,101 @@ distclean: realclean -del /f $(LIBDIR)\Win32CORE.pm -del /f $(LIBDIR)\Win32API\File.pm -del /f $(LIBDIR)\Win32API\File\cFile.pc + -del /f $(DISTDIR)\XSLoader\XSLoader.pm + -if exist $(LIBDIR)\App rmdir /s /q $(LIBDIR)\App + -if exist $(LIBDIR)\Archive rmdir /s /q $(LIBDIR)\Archive + -if exist $(LIBDIR)\Attribute rmdir /s /q $(LIBDIR)\Attribute + -if exist $(LIBDIR)\autodie rmdir /s /q $(LIBDIR)\autodie -if exist $(LIBDIR)\B rmdir /s /q $(LIBDIR)\B + -if exist $(LIBDIR)\CGI rmdir /s /q $(LIBDIR)\CGI + -if exist $(LIBDIR)\CPAN rmdir /s /q $(LIBDIR)\CPAN + -if exist $(LIBDIR)\CPANPLUS rmdir /s /q $(LIBDIR)\CPANPLUS -if exist $(LIBDIR)\Compress rmdir /s /q $(LIBDIR)\Compress -if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data + -if exist $(LIBDIR)\Devel rmdir /s /q $(LIBDIR)\Devel + -if exist $(LIBDIR)\Digest rmdir /s /q $(LIBDIR)\Digest -if exist $(LIBDIR)\Encode rmdir /s /q $(LIBDIR)\Encode - -if exist $(LIBDIR)\Filter\Util rmdir /s /q $(LIBDIR)\Filter\Util + -if exist $(LIBDIR)\encoding rmdir /s /q $(LIBDIR)\encoding + -if exist $(LIBDIR)\ExtUtils\CBuilder rmdir /s /q $(LIBDIR)\ExtUtils\CBuilder + -if exist $(LIBDIR)\ExtUtils\Command rmdir /s /q $(LIBDIR)\ExtUtils\Command + -if exist $(LIBDIR)\ExtUtils\Constant rmdir /s /q $(LIBDIR)\ExtUtils\Constant + -if exist $(LIBDIR)\ExtUtils\Liblist rmdir /s /q $(LIBDIR)\ExtUtils\Liblist + -if exist $(LIBDIR)\ExtUtils\MakeMaker rmdir /s /q $(LIBDIR)\ExtUtils\MakeMaker + -if exist $(LIBDIR)\File\Spec rmdir /s /q $(LIBDIR)\File\Spec + -if exist $(LIBDIR)\Filter rmdir /s /q $(LIBDIR)\Filter -if exist $(LIBDIR)\Hash rmdir /s /q $(LIBDIR)\Hash - -if exist $(LIBDIR)\IO\Compress rmdir /s /q $(LIBDIR)\IO\Compress - -if exist $(LIBDIR)\IO\Socket rmdir /s /q $(LIBDIR)\IO\Socket - -if exist $(LIBDIR)\IO\Uncompress rmdir /s /q $(LIBDIR)\IO\Uncompress + -if exist $(LIBDIR)\I18N\LangTags rmdir /s /q $(LIBDIR)\I18N\LangTags + -if exist $(LIBDIR)\inc rmdir /s /q $(LIBDIR)\inc + -if exist $(LIBDIR)\Module\Pluggable rmdir /s /q $(LIBDIR)\Module\Pluggable + -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO + -if exist $(LIBDIR)\IPC rmdir /s /q $(LIBDIR)\IPC -if exist $(LIBDIR)\List rmdir /s /q $(LIBDIR)\List + -if exist $(LIBDIR)\Locale rmdir /s /q $(LIBDIR)\Locale + -if exist $(LIBDIR)\Log rmdir /s /q $(LIBDIR)\Log + -if exist $(LIBDIR)\Math rmdir /s /q $(LIBDIR)\Math + -if exist $(LIBDIR)\Memoize rmdir /s /q $(LIBDIR)\Memoize -if exist $(LIBDIR)\MIME rmdir /s /q $(LIBDIR)\MIME + -if exist $(LIBDIR)\Module rmdir /s /q $(LIBDIR)\Module + -if exist $(LIBDIR)\mro rmdir /s /q $(LIBDIR)\mro + -if exist $(LIBDIR)\Net\FTP rmdir /s /q $(LIBDIR)\Net\FTP + -if exist $(LIBDIR)\Object rmdir /s /q $(LIBDIR)\Object + -if exist $(LIBDIR)\Package rmdir /s /q $(LIBDIR)\Package + -if exist $(LIBDIR)\Params rmdir /s /q $(LIBDIR)\Params + -if exist $(LIBDIR)\Parse rmdir /s /q $(LIBDIR)\Parse + -if exist $(LIBDIR)\PerlIO rmdir /s /q $(LIBDIR)\PerlIO + -if exist $(LIBDIR)\Pod\Perldoc rmdir /s /q $(LIBDIR)\Pod\Perldoc + -if exist $(LIBDIR)\Pod\Simple rmdir /s /q $(LIBDIR)\Pod\Simple + -if exist $(LIBDIR)\Pod\Text rmdir /s /q $(LIBDIR)\Pod\Text -if exist $(LIBDIR)\re rmdir /s /q $(LIBDIR)\re -if exist $(LIBDIR)\Scalar rmdir /s /q $(LIBDIR)\Scalar -if exist $(LIBDIR)\Sys rmdir /s /q $(LIBDIR)\Sys + -if exist $(LIBDIR)\TAP rmdir /s /q $(LIBDIR)\TAP + -if exist $(LIBDIR)\Term\UI rmdir /s /q $(LIBDIR)\Term\UI + -if exist $(LIBDIR)\Test rmdir /s /q $(LIBDIR)\Test + -if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread -if exist $(LIBDIR)\threads rmdir /s /q $(LIBDIR)\threads + -if exist $(LIBDIR)\Unicode\Collate rmdir /s /q $(LIBDIR)\Unicode\Collate -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API - -cd $(PODDIR) && del /f *.html *.bat checkpods \ - perlaix.pod perlamiga.pod perlapollo.pod perlbeos.pod \ - perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ - perldelta.pod perldgux.pod perldos.pod perlepoc.pod \ - perlfreebsd.pod perlhpux.pod perlhurd.pod perlirix.pod \ - perljp.pod perlko.pod perllinux.pod perlmachten.pod \ - perlmacos.pod perlmacosx.pod perlmint.pod perlmpeix.pod \ - perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \ - perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \ - perlsolaris.pod perlsymbian.pod perltru64.pod perltw.pod \ - perluts.pod perlvmesa.pod perlvms.pod perlvms.pod perlvos.pod \ - perlwin32.pod \ + -cd $(PODDIR) && del /f *.html *.bat \ + perlaix.pod perlamiga.pod perlapi.pod perlapollo.pod \ + perlbeos.pod perlbs2000.pod perlce.pod perlcn.pod \ + perlcygwin.pod perldelta.pod perldgux.pod perldos.pod \ + perlepoc.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ + perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ + perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \ + perlmpeix.pod perlnetware.pod perlopenbsd.pod perlos2.pod \ + perlos390.pod perlos400.pod perlplan9.pod perlqnx.pod \ + perlriscos.pod perlsolaris.pod perlsymbian.pod perltoc.pod \ + perltru64.pod perltw.pod perluniprops.pod perluts.pod \ + perlvmesa.pod perlvos.pod perlwin32.pod \ pod2html pod2latex pod2man pod2text pod2usage \ podchecker podselect -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \ perldoc perlivp dprofpp libnetcfg enc2xs piconv cpan *.bat \ xsubpp instmodsh prove ptar ptardiff cpanp-run-perl cpanp cpan2dist shasum corelist config_data -cd ..\x2p && del /f find2perl s2p psed *.bat - -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new \ + -del /f ..\config.sh perlmain.c dlutils.c config.h.new \ perlmainst.c -del /f $(CONFIGPM) + -del /f ..\lib\Config_git.pl -del /f bin\*.bat -del /f perllibst.h - -del /f $(PERLEXE_ICO) perl.base - -cd .. && del /s *$(a) *.map *.pdb *.ilk *.tds *.bs *$(o) .exists pm_to_blib + -del /f $(PERLEXE_RES) perl.base + -cd .. && del /s *$(a) *.map *.pdb *.ilk *.tds *.bs *$(o) .exists pm_to_blib ppport.h -cd $(EXTDIR) && del /s *.def Makefile Makefile.old + -cd $(DISTDIR) && del /s *.def Makefile Makefile.old + -cd $(CPANDIR) && del /s *.def Makefile Makefile.old -if exist $(AUTODIR) rmdir /s /q $(AUTODIR) -if exist $(COREDIR) rmdir /s /q $(COREDIR) -if exist pod2htmd.tmp del pod2htmd.tmp -if exist pod2htmi.tmp del pod2htmi.tmp -if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR) + -del /f ..\t\test_state install : all installbare installhtml -installbare : $(RIGHTMAKE) utils +installbare : $(RIGHTMAKE) utils ..\pod\perltoc.pod $(PERLEXE) ..\installperl if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.* if exist $(PERLEXESTATIC) $(XCOPY) $(PERLEXESTATIC) $(INST_BIN)\*.* @@ -1563,13 +1634,11 @@ installhtml : doc $(RCOPY) $(HTMLDIR)\*.* $(INST_HTML)\*.* inst_lib : $(CONFIGPM) - copy splittree.pl .. - $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) $(RCOPY) ..\lib $(INST_LIB)\*.* -$(UNIDATAFILES) .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables +$(UNIDATAFILES) ..\pod\perluniprops.pod .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs cd ..\lib\unicore && \ - ..\$(MINIPERL) -I.. mktables + ..\$(MINIPERL) -I.. -I..\..\cpan\Cwd\lib -I..\..\cpan\Cwd mktables -P ..\..\pod -maketest -makelist -p minitest : $(MINIPERL) $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) utils $(XCOPY) $(MINIPERL) ..\t\$(NULL) @@ -1584,13 +1653,7 @@ minitest : $(MINIPERL) $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) utils cd ..\t && \ $(MINIPERL) -I..\lib harness base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.t -unpack_files: - $(MINIPERL) -I..\lib ..\uupacktool.pl -u -d .. -m - -cleanup_unpacked_files: - -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\uupacktool.pl -c -d .. -m - -test-prep : all utils unpack_files +test-prep : all utils $(XCOPY) $(PERLEXE) ..\t\$(NULL) $(XCOPY) $(PERLDLL) ..\t\$(NULL) .IF "$(CCTYPE)" == "BORLAND" @@ -1598,6 +1661,11 @@ test-prep : all utils unpack_files .ELSE $(XCOPY) $(GLOBEXE) ..\t\$(NULL) .ENDIF +.IF "$(CCTYPE)" == "GCC" +.IF "$(GCC_4XX)" == "define" + $(XCOPY) $(GCCHELPERDLL) ..\t\$(NULL) +.ENDIF +.ENDIF test : $(RIGHTMAKE) test-prep cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) $(TEST_FILES) @@ -1607,7 +1675,7 @@ test-reonly : reonly utils $(XCOPY) $(PERLDLL) ..\t\$(NULL) $(XCOPY) $(GLOBEXE) ..\t\$(NULL) cd ..\t && \ - $(PERLEXE) -I..\lib harness $(OPT) -re \bpat\b \breg \bre\b \bsubst \brxcode $(EXTRA) && \ + $(PERLEXE) -I..\lib harness $(OPT) -re \bpat\\/ $(EXTRA) && \ cd ..\win32 regen : @@ -1635,6 +1703,7 @@ _clean : -@erase perlmainst$(o) -@erase config.w32 -@erase /f config.h + -@erase /f ..\git_version.h -@erase $(GLOBEXE) -@erase $(PERLEXE) -@erase $(WPERLEXE) @@ -1642,7 +1711,7 @@ _clean : -@erase $(PERLSTATICLIB) -@erase $(PERLDLL) -@erase $(CORE_OBJ) - -@erase $(GENUUDMAP) $(GENUUDMAP_OBJ) $(UUDMAP_H) + -@erase $(GENUUDMAP) $(GENUUDMAP_OBJ) $(UUDMAP_H) $(BITCOUNT_H) -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) -if exist $(UNIDATADIR1) rmdir /s /q $(UNIDATADIR1) -if exist $(UNIDATADIR2) rmdir /s /q $(UNIDATADIR2) @@ -1660,11 +1729,9 @@ _clean : -_preclean : cleanup_unpacked_files - -clean : _preclean Extensions_clean _clean +clean : Extensions_clean _clean -realclean : _preclean Extensions_realclean MakePPPort_clean _clean +realclean : Extensions_realclean _clean # Handy way to run perlbug -ok without having to install and run the # installed perlbug. We don't re-run the tests here - we trust the user.