# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
-INST_VER *= \5.00557
+INST_VER *= \5.00561
#
# Comment this out if you DON'T want your perl installation to have
USE_THREADS *= undef
USE_MULTI *= undef
+USE_OBJECT *= undef
-
-.IF "$(USE_MULTI)$(USE_THREADS)$(USE_OBJECT)" != ""
+.IF "$(USE_MULTI)$(USE_THREADS)$(USE_OBJECT)" != "undefundefundef"
BUILDOPT += -DPERL_IMPLICIT_CONTEXT
.ENDIF
CFG *= Optimize
.ENDIF
+ARCHDIR = ..\lib\$(ARCHNAME)
COREDIR = ..\lib\CORE
AUTODIR = ..\lib\auto
+LIBDIR = ..\lib
+EXTDIR = ..\ext
+PODDIR = ..\pod
+EXTUTILSDIR = $(LIBDIR)\ExtUtils
+
+#
+INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
+INST_BIN = $(INST_SCRIPT)$(INST_ARCH)
+INST_LIB = $(INST_TOP)$(INST_VER)\lib
+INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)
+INST_COREDIR = $(INST_ARCHLIB)\CORE
+INST_POD = $(INST_LIB)\pod
+INST_HTML = $(INST_POD)\html
#
# Programs to compile, build .lib files and link
CFLAGS = -w -g0 -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) \
$(PCHFLAGS) $(OPTIMIZE)
-LINK_FLAGS = $(LINK_DBG) -L"$(CCLIBDIR)"
+LINK_FLAGS = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
OBJOUT_FLAG = -o
EXEOUT_FLAG = -e
LIBOUT_FLAG =
.ENDIF
CFLAGS = $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE)
-LINK_FLAGS = $(LINK_DBG) -L"$(CCLIBDIR)"
+LINK_FLAGS = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
OBJOUT_FLAG = -o
EXEOUT_FLAG = -o
LIBOUT_FLAG =
.ELSE
-CC = cl.exe
-LINK32 = link.exe
+CC = cl
+LINK32 = link
LIB32 = $(LINK32) -lib
#
CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \
$(PCHFLAGS) $(OPTIMIZE)
-LINK_FLAGS = -nologo -nodefaultlib $(LINK_DBG) -machine:$(PROCESSOR_ARCHITECTURE)
+LINK_FLAGS = -nologo -nodefaultlib $(LINK_DBG) \
+ -libpath:"$(INST_COREDIR)" \
+ -machine:$(PROCESSOR_ARCHITECTURE)
OBJOUT_FLAG = -Fo
EXEOUT_FLAG = -Fe
LIBOUT_FLAG = /out:
.ENDIF
#
-INST_BIN = $(INST_TOP)$(INST_VER)\bin$(INST_ARCH)
-INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
-INST_LIB = $(INST_TOP)$(INST_VER)\lib
-INST_POD = $(INST_LIB)\pod
-INST_HTML = $(INST_POD)\html
-LIBDIR = ..\lib
-EXTDIR = ..\ext
-PODDIR = ..\pod
-EXTUTILSDIR = $(LIBDIR)\extutils
-
-#
# various targets
MINIPERL = ..\miniperl.exe
MINIDIR = .\mini
UTILS = \
..\utils\h2ph \
..\utils\splain \
+ ..\utils\dprofpp \
..\utils\perlbug \
..\utils\pl2pm \
..\utils\c2ph \
.ENDIF
.IF "$(USE_OBJECT)" == "define"
-PERLIMPLIB *= ..\perlcore$(a)
-PERLDLL = ..\perlcore.dll
+PERLIMPLIB *= ..\perl56$(a)
+PERLDLL = ..\perl56.dll
.ELSE
PERLIMPLIB *= ..\perl$(a)
PERLDLL = ..\perl.dll
..\toke.c \
..\universal.c \
..\utf8.c \
- ..\util.c
+ ..\util.c \
+ ..\xsutils.c
EXTRACORE_SRC += perllib.c
..\unixish.h \
..\utf8.h \
..\util.h \
- ..\warning.h \
+ ..\warnings.h \
..\XSUB.h \
..\EXTERN.h \
..\perlvars.h \
.ENDIF
DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
- Data/Dumper Devel/Peek ByteLoader
+ Data/Dumper Devel/Peek ByteLoader Devel/DProf
STATIC_EXT = DynaLoader
NONXS_EXT = Errno
ERRNO = $(EXTDIR)\Errno\Errno
PEEK = $(EXTDIR)\Devel\Peek\Peek
BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader
+DPROF = $(EXTDIR)\Devel\DProf\DProf
SOCKET_DLL = $(AUTODIR)\Socket\Socket.dll
FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll
PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll
RE_DLL = $(AUTODIR)\re\re.dll
BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll
+DPROF_DLL = $(AUTODIR)\Devel\DProf\DProf.dll
ERRNO_PM = $(LIBDIR)\Errno.pm
$(DUMPER).c \
$(PEEK).c \
$(B).c \
- $(BYTELOADER).c
+ $(BYTELOADER).c \
+ $(DPROF).c
EXTENSION_DLL = \
$(SOCKET_DLL) \
$(B_DLL) \
$(RE_DLL) \
$(THREAD_DLL) \
- $(BYTELOADER_DLL)
+ $(BYTELOADER_DLL) \
+ $(DPROF_DLL)
EXTENSION_PM = \
$(ERRNO_PM)
..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
cd $(EXTDIR)\Data\$(*B) && $(MAKE)
+$(DPROF_DLL): $(PERLEXE) $(DPROF).xs
+ cd $(EXTDIR)\Devel\$(*B) && \
+ ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+ cd $(EXTDIR)\Devel\$(*B) && $(MAKE)
+
$(PEEK_DLL): $(PERLEXE) $(PEEK).xs
cd $(EXTDIR)\Devel\$(*B) && \
..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
-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)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
- -del /f $(LIBDIR)\Devel\Peek.pm
+ -del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm
-rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO
-rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread
-rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B
-del /f $(PODDIR)\*.html
-del /f $(PODDIR)\*.bat
-cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph h2xs perldoc \
- pstruct *.bat
+ dprofpp pstruct *.bat
-cd ..\x2p && del /f find2perl s2p *.bat
-del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new
-del /f $(CONFIGPM)