Untangle File::Basename and re - avoid hard-coding the hints value.
[p5sagit/p5-mst-13.2.git] / win32 / makefile.mk
index 52eee6f..002d5c5 100644 (file)
@@ -330,7 +330,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
 
@@ -493,7 +493,10 @@ 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) \
@@ -1024,7 +1027,7 @@ ODBCCP32_DLL = $(windir)\system\odbccp32.dll
 
 all : CHECKDMAKE .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) $(MK2)     \
        $(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) MakePPPort          \
-       $(PERLEXE) $(X2P) Extensions $(PERLSTATIC)
+       $(PERLEXE) $(X2P) Extensions Extensions_nonxs $(PERLSTATIC)
 
 ..\regcharclass.h : ..\Porting\regcharclass.pl
        cd .. && miniperl Porting\regcharclass.pl && cd win32
@@ -1261,9 +1264,6 @@ $(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)
 
 $(MINIMOD) : $(MINIPERL) ..\minimod.pl
@@ -1365,7 +1365,7 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
        $(EMBED_EXE_MANI)
 .ENDIF
 
-$(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
+$(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM) Extensions_nonxs
        if not exist $(AUTODIR) mkdir $(AUTODIR)
        cd $(EXTDIR)\$(*B) && ..\$(MINIPERL) -I..\..\lib $(*B)_pm.PL
        cd $(EXTDIR)\$(*B) && ..\$(MINIPERL) -I..\..\lib XSLoader_pm.PL
@@ -1377,18 +1377,21 @@ $(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
 $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
        copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
 
-MakePPPort: $(MINIPERL) $(CONFIGPM)
+MakePPPort: $(MINIPERL) $(CONFIGPM) Extensions_nonxs
        $(MINIPERL) -I..\lib ..\mkppport
 
 MakePPPort_clean:
        -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\mkppport --clean
 
 #-------------------------------------------------------------------------------
-Extensions : ..\make_ext.pl $(PERLDEP) $(CONFIGPM)
+# The rule for $(DYNALOADER).c makes DynaLoader.pm, and that is needed for
+# ExtUtils::Mkbootstrap. 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).c
        $(XCOPY) ..\*.h $(COREDIR)\*.*
        $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynamic
 
-Extensions_reonly : ..\make_ext.pl $(PERLDEP) $(CONFIGPM)
+Extensions_reonly : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER).c
        $(XCOPY) ..\*.h $(COREDIR)\*.*
        $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynamic +re
 
@@ -1397,6 +1400,10 @@ Extensions_static : ..\make_ext.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM)
        $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --static
        $(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
 
+Extensions_nonxs : ..\make_ext.pl $(PERLDEP) $(CONFIGPM)
+       $(XCOPY) ..\*.h $(COREDIR)\*.*
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --nonxs
+
 Extensions_clean :
        -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --all --target=clean
 
@@ -1434,10 +1441,8 @@ utils: $(PERLEXE) $(X2P)
        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
@@ -1528,12 +1533,12 @@ distclean: realclean
            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 perlmachten.pod perlmacos.pod perlmacosx.pod \
-           perlmint.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 \
-           perluts.pod perlvmesa.pod perlvos.pod perlwin32.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 perluts.pod perlvmesa.pod perlvos.pod \
+           perlwin32.pod \
            pod2html pod2latex pod2man pod2text pod2usage \
            podselect
        -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
@@ -1546,7 +1551,7 @@ distclean: realclean
        -del /f ..\lib\Config_git.pl
        -del /f bin\*.bat
        -del /f perllibst.h
-       -del /f $(PERLEXE_ICO) perl.base
+       -del /f perl.base
        -cd .. && del /s *$(a) *.map *.pdb *.ilk *.tds *.bs *$(o) .exists pm_to_blib
        -cd $(EXTDIR) && del /s *.def Makefile Makefile.old
        -if exist $(AUTODIR) rmdir /s /q $(AUTODIR)
@@ -1575,7 +1580,7 @@ inst_lib : $(CONFIGPM)
        $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)
        $(RCOPY) ..\lib $(INST_LIB)\*.*
 
-$(UNIDATAFILES) .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables
+$(UNIDATAFILES) .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs
        cd ..\lib\unicore && \
        ..\$(MINIPERL) -I.. mktables
 
@@ -1615,7 +1620,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 :