perl
view release on metacpan or search on metacpan
win32/Makefile view on Meta::CPAN
# VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates)
# For XP support in >= VS 2013 (VC++ 12.0), subsystem is always in Config.pm
# LINK_FLAGS.
!IF "$(WIN64)" == "define"
LINK_FLAGS = $(LINK_FLAGS) -subsystem:console,"5.02"
!ELSE
LINK_FLAGS = $(LINK_FLAGS) -subsystem:console,"5.01"
!ENDIF
BLINK_FLAGS = $(PRIV_LINK_FLAGS) $(LINK_FLAGS)
#################### do not edit below this line #######################
############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ##############
o = .obj
#
# Rules
#
#clear the list, we dont support .cxx .bas .cbl .for .pas .f .f90
# .asm .cpp are not currently used but they are included for completeness
.SUFFIXES :
.SUFFIXES : .c $(o) .cpp .asm .dll .lib .exe .rc .res
.c$(o):
$(CC) -c -I$(FULLDIR) -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
.c.i:
$(CC) -c -I$(FULLDIR) -I$(<D) $(CFLAGS_O) -P $(OBJOUT_FLAG)$@ $<
.y.c:
$(NOOP)
$(o).dll:
$(LINK32) -dll -implib:$(*B).lib -def:$(*B).def \
-out:$@ $(BLINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
.rc.res:
$(RSC) -i.. $(RSC_FLAGS) $<
#
# various targets
# 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 = ..\perl542.lib
PERLSTATICLIB = ..\perl542s.lib
PERLDLL = ..\perl542.dll
MINIPERL = ..\miniperl.exe
# contains config.h for the full perl build
FULLDIR = .\full
MINIDIR = .\mini
PERLEXE = ..\perl.exe
WPERLEXE = ..\wperl.exe
PERLEXESTATIC = ..\perl-static.exe
GLOBEXE = ..\perlglob.exe
CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl
GENUUDMAP = ..\generate_uudmap.exe
!IF "$(BUILD_STATIC)" == "define" || "$(ALL_STATIC)" == "define"
PERLSTATIC = static
!ELSE
PERLSTATIC =
!ENDIF
# Unicode data files generated by mktables
FIRSTUNIFILE = ..\lib\unicore\Decomposition.pl
UNIDATAFILES = ..\lib\unicore\Decomposition.pl \
..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst \
..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm \
..\lib\unicore\TestProp.pl
# 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 =
# Nominate a target which causes extensions to be re-built
# This used to be $(PERLEXE), but at worst it is the .dll that they depend
# on and really only the interface - i.e. the .def file used to export symbols
# from the .dll
PERLDEP = perldll.def
PL2BAT = bin\pl2bat.pl
GLOBBAT = bin\perlglob.bat
UTILS = \
..\utils\h2ph \
..\utils\splain \
..\utils\perlbug \
..\utils\pl2pm \
..\utils\h2xs \
..\utils\perldoc \
..\utils\perlivp \
..\utils\libnetcfg \
..\utils\enc2xs \
..\utils\encguess \
..\utils\piconv \
..\utils\corelist \
..\utils\cpan \
..\utils\xsubpp \
..\utils\prove \
..\utils\ptar \
..\utils\ptardiff \
..\utils\ptargrep \
..\utils\zipdetails \
..\utils\shasum \
..\utils\instmodsh \
..\utils\json_pp \
..\utils\pod2html \
..\utils\streamzip \
bin\exetype.pl \
bin\runperl.pl \
bin\pl2bat.pl \
bin\perlglob.pl \
bin\search.pl
MAKE = nmake -nologo
MAKE_BARE = nmake
CFGSH_TMPL = config.vc
CFGH_TMPL = config_H.vc
INT64 = __int64
XCOPY = xcopy /f /r /i /d /y
RCOPY = xcopy /f /r /i /e /d /y
NOOP = @rem
NULL =
DEL = del
MICROCORE_SRC = \
..\av.c \
..\caretx.c \
..\class.c \
..\builtin.c \
..\deb.c \
..\doio.c \
..\doop.c \
..\dquote.c \
..\dump.c \
..\globals.c \
..\gv.c \
..\mro_core.c \
..\hv.c \
..\locale.c \
..\keywords.c \
..\mathoms.c \
..\mg.c \
..\numeric.c \
..\op.c \
..\pad.c \
..\peep.c \
..\perl.c \
..\perly.c \
..\pp.c \
..\pp_ctl.c \
..\pp_hot.c \
..\pp_pack.c \
..\pp_sort.c \
..\pp_sys.c \
..\reentr.c \
..\regcomp.c \
..\regcomp_trie.c \
..\regcomp_debug.c \
..\regcomp_invlist.c \
..\regcomp_study.c \
..\regexec.c \
..\run.c \
..\scope.c \
..\sv.c \
..\taint.c \
..\time64.c \
..\toke.c \
..\universal.c \
..\utf8.c \
..\util.c
EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
!IF "$(PERL_MALLOC)" == "define"
EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
!ENDIF
EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c
WIN32_SRC = \
.\win32.c \
.\win32sck.c \
.\win32thread.c \
.\fcrypt.c
CORE_NOCFG_H = \
..\av.h \
..\cop.h \
..\cv.h \
..\dosish.h \
..\embed.h \
..\form.h \
..\gv.h \
..\handy.h \
..\hv.h \
..\hv_func.h \
..\iperlsys.h \
..\mg.h \
..\nostdio.h \
..\op.h \
..\opcode.h \
..\perl.h \
..\perlapi.h \
..\perlsdio.h \
..\perly.h \
..\pp.h \
..\proto.h \
..\regcomp.h \
..\regcomp_internal.h \
..\regexp.h \
..\scope.h \
..\sv.h \
..\thread.h \
..\unixish.h \
..\utf8.h \
..\util.h \
..\warnings.h \
..\XSUB.h \
..\EXTERN.h \
..\perlvars.h \
..\intrpvar.h \
.\include\dirent.h \
.\include\netdb.h \
.\include\sys\errno2.h \
.\include\sys\socket.h \
.\win32.h
CONFIG_H = $(FULLDIR)\config.h
MINI_CONFIG_H = $(MINIDIR)\config.h
CORE_H = $(CORE_NOCFG_H) $(CONFIG_H) ..\git_version.h
UUDMAP_H = ..\uudmap.h
BITCOUNT_H = ..\bitcount.h
MG_DATA_H = ..\mg_data.h
GENERATED_HEADERS = $(UUDMAP_H) $(BITCOUNT_H) $(MG_DATA_H)
MICROCORE_OBJ = $(MICROCORE_SRC:.c=.obj)
CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.obj)
WIN32_OBJ = $(WIN32_SRC:.c=.obj)
MINICORE_OBJ = $(MICROCORE_OBJ:..\=.\mini\) \
$(MINIDIR)\miniperlmain$(o) \
$(MINIDIR)\perlio$(o)
MINIWIN32_OBJ = $(WIN32_OBJ:.\=.\mini\)
MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ)
DLL_OBJ = $(DYNALOADER)
GENUUDMAP_OBJ = $(GENUUDMAP:.exe=.obj)
PERLDLL_OBJ = $(CORE_OBJ)
PERLEXE_OBJ = perlmain$(o)
PERLEXEST_OBJ = perlmainst$(o)
PERLDLL_OBJ = $(PERLDLL_OBJ) $(WIN32_OBJ) $(DLL_OBJ)
!IF "$(USE_SETARGV)" != ""
SETARGV_OBJ = setargv$(o)
!ENDIF
!IF "$(ALL_STATIC)" == "define"
# some exclusions, unfortunately, until fixed:
# - MakeMaker isn't capable enough for SDBM_File (small bug)
STATIC_EXT = * !SDBM_File
!ELSE
# specify static extensions here, for example:
# (be sure to include Win32CORE to load Win32 on demand)
#STATIC_EXT = Win32CORE Cwd Compress/Raw/Zlib
STATIC_EXT = Win32CORE
!ENDIF
DYNALOADER = ..\DynaLoader$(o)
CFG_VARS = \
"INST_TOP=$(INST_TOP)" \
"INST_VER=$(INST_VER)" \
"INST_ARCH=$(INST_ARCH)" \
"archname=$(ARCHNAME)" \
"cc=$(CC)" \
"ld=$(LINK32)" \
"ccflags=$(EXTRACFLAGS) $(DEFINES) $(BUILDOPT)" \
"usecplusplus=$(USE_CPLUSPLUS)" \
"cf_email=$(EMAIL)" \
"d_mymalloc=$(PERL_MALLOC)" \
"libs=$(LIBFILES)" \
"incpath=$(CCINCDIR:"=\")" \
"libperl=$(PERLIMPLIB:..\=)" \
"libpth=$(CCLIBDIR:"=\");$(EXTRALIBDIRS:"=\")" \
"libc=$(LIBC)" \
"make=$(MAKE_BARE)" \
"static_ext=$(STATIC_EXT)" \
"usethreads=$(USE_ITHREADS)" \
"useithreads=$(USE_ITHREADS)" \
"usemultiplicity=$(USE_MULTI)" \
"use64bitint=$(USE_64_BIT_INT)" \
"uselongdouble=undef" \
"usequadmath=undef" \
"usesitecustomize=$(USE_SITECUST)" \
"default_inc_excludes_dot=$(DEFAULT_INC_EXCLUDES_DOT)" \
"LINK_FLAGS=$(LINK_FLAGS:"=\")" \
"optimize=$(OPTIMIZE:"=\")" \
"WIN64=$(WIN64)" \
"SKIP_CCHOME_CHECK=$(SKIP_CCHOME_CHECK)"
#
# Top targets
#
all : ..\git_version.h $(GLOBEXE) $(CONFIGPM) \
$(UNIDATAFILES) MakePPPort $(PERLEXE) Extensions_nonxs Extensions \
$(PERLSTATIC)
@echo Everything is up to date. '$(MAKE_BARE) test' to run test suite.
regnodes : ..\regnodes.h
..\regcomp$(o) : ..\regcomp.h ..\regcomp_internal.h ..\regnodes.h ..\regcharclass.h
..\regcomp_debug$(o) : ..\regcomp.h ..\regcomp_internal.h ..\regnodes.h ..\regcharclass.h
..\regcomp_invlist$(o) : ..\regcomp.h ..\regcomp_internal.h ..\regnodes.h ..\regcharclass.h
..\regcomp_study$(o) : ..\regcomp.h ..\regcomp_internal.h ..\regnodes.h ..\regcharclass.h
..\regcomp_trie$(o) : ..\regcomp.h ..\regcomp_internal.h ..\regnodes.h ..\regcharclass.h
..\regexec$(o) : ..\regnodes.h ..\regcharclass.h
reonly : regnodes $(CONFIG_H) ..\git_version.h $(GLOBEXE) $(CONFIGPM) \
$(UNIDATAFILES) $(PERLEXE) Extensions_reonly
@echo Perl and 're' are up to date.
static: $(PERLEXESTATIC)
#------------------------------------------------------------
$(GLOBEXE) : perlglob$(o)
$(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ \
perlglob$(o) setargv$(o)
perlglob$(o) : perlglob.c
..\git_version.h : $(MINIPERL) ..\make_patchnum.pl
cd .. && miniperl -Ilib make_patchnum.pl && cd win32
# make sure that we recompile perl.c if the git version changes
..\perl$(o) : ..\git_version.h
..\config.sh : $(CFGSH_TMPL) config_sh.PL FindExt.pm $(MINIPERL)
$(MINIPERL) -I..\lib config_sh.PL -o ..\config.sh $(CFG_VARS) $(CFGSH_TMPL)
# This target is for when changes to the main config.sh happen.
# Edit config.vc, then make perl in a minimal configuration (i.e. with MULTI,
# ITHREADS, IMP_SYS and LARGE_FILES off), then make this target
# to regenerate config_H.vc.
regen_config_h:
$(MINIPERL) -I..\lib config_sh.PL --prebuilt $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh
$(MINIPERL) -I..\lib ..\configpm --chdir=..
-del /f $(CFGH_TMPL)
-$(MINIPERL) -I..\lib config_h.PL
rename config.h $(CFGH_TMPL)
$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\git_version.h
$(MINIPERL) -I..\lib ..\configpm --chdir=..
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(XCOPY) ..\charclass_invlists.inc $(COREDIR)\*.*
$(XCOPY) *.h $(COREDIR)\*.*
$(RCOPY) include $(COREDIR)\*.*
if not exist "$(FULLDIR)" mkdir "$(FULLDIR)"
$(MINIPERL) -I..\lib config_h.PL "CONFIG_H=$(CONFIG_H)"
$(CONFIG_H) : $(CONFIGPM)
# See the comment in Makefile.SH explaining this seemingly cranky ordering
$(MINIPERL) : ..\lib\buildcustomize.pl
..\lib\buildcustomize.pl : $(MINI_OBJ) ..\write_buildcustomize.pl
$(LINK32) -out:$(MINIPERL) @<<
$(BLINK_FLAGS) $(DELAYLOAD) $(MINIDELAYLOAD) $(LIBFILES) $(MINI_OBJ)
<<
$(MINIPERL) -I..\lib -f ..\write_buildcustomize.pl ..
$(MINIDIR)\.exists : $(CFGH_TMPL)
if not exist "$(MINIDIR)" mkdir "$(MINIDIR)"
#
# Copy the template config.h and set configurables at the end of it
# as per the options chosen and compiler used.
# Note: This config.h is only used to build miniperl.exe anyway, but
# it's as well to have its options correct to be sure that it builds
# and so that its "-V" options are correct for use by makedef.pl. The
# real config.h used to build perl.exe is generated from the top-level
# config_h.SH by config_h.PL (run by miniperl.exe).
#
copy $(CFGH_TMPL) $(MINI_CONFIG_H)
@(echo.&& \
echo #ifndef _config_h_footer_&& \
echo #define _config_h_footer_&& \
echo #undef PTRSIZE&& \
echo #undef SSize_t&& \
echo #undef HAS_ATOLL&& \
echo #undef HAS_STRTOLL&& \
echo #undef HAS_STRTOULL&& \
echo #undef Size_t_size&& \
echo #undef IVTYPE&& \
echo #undef UVTYPE&& \
echo #undef IVSIZE&& \
echo #undef UVSIZE&& \
echo #undef NV_PRESERVES_UV&& \
echo #undef NV_PRESERVES_UV_BITS&& \
echo #undef IVdf&& \
echo #undef UVuf&& \
echo #undef UVof&& \
echo #undef UVxf&& \
echo #undef UVXf&& \
echo #undef USE_64_BIT_INT&& \
echo #undef USE_LONG_DOUBLE&& \
echo #undef USE_CPLUSPLUS)>> $(MINI_CONFIG_H)
@(echo #undef FILE_ptr&& \
echo #undef FILE_cnt&& \
echo #undef FILE_base&& \
echo #undef FILE_bufsiz&& \
echo #define FILE_ptr^(fp^) PERLIO_FILE_ptr^(fp^)&& \
echo #define FILE_cnt^(fp^) PERLIO_FILE_cnt^(fp^)&& \
win32/Makefile view on Meta::CPAN
@(echo #define IVTYPE $(INT64)&& \
echo #define UVTYPE unsigned $(INT64)&& \
echo #define IVSIZE ^8&& \
echo #define UVSIZE ^8&& \
echo #undef NV_PRESERVES_UV&& \
echo #define NV_PRESERVES_UV_BITS 53&& \
echo #define IVdf "I64d"&& \
echo #define UVuf "I64u"&& \
echo #define UVof "I64o"&& \
echo #define UVxf "I64x"&& \
echo #define UVXf "I64X"&& \
echo #define USE_64_BIT_INT)>> $(MINI_CONFIG_H)
!ELSE
@(echo #define IVTYPE long&& \
echo #define UVTYPE unsigned long&& \
echo #define IVSIZE ^4&& \
echo #define UVSIZE ^4&& \
echo #define NV_PRESERVES_UV&& \
echo #define NV_PRESERVES_UV_BITS 32&& \
echo #define IVdf "ld"&& \
echo #define UVuf "lu"&& \
echo #define UVof "lo"&& \
echo #define UVxf "lx"&& \
echo #define UVXf "lX"&& \
echo #undef USE_64_BIT_INT)>> $(MINI_CONFIG_H)
!ENDIF
!IF "$(USE_CPLUSPLUS)"=="define"
@(echo #define USE_CPLUSPLUS&& \
echo #endif)>> $(MINI_CONFIG_H)
!ELSE
@(echo #undef USE_CPLUSPLUS&& \
echo #endif)>> $(MINI_CONFIG_H)
!ENDIF
#separate line since this is sentinal that this target is done
@rem. > $(MINIDIR)\.exists
.c{$(MINIDIR)}$(o):
$(CC) -c -Imini $(CFLAGS) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $<
{..\}.c{$(MINIDIR)}$(o):
$(CC) -c -Imini $(CFLAGS) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $<
$(MINICORE_OBJ) : $(CORE_NOCFG_H)
$(MINIWIN32_OBJ) : $(CORE_NOCFG_H)
# -DPERL_IMPLICIT_SYS needs C++ for perllib.c
# This is the only file that depends on perlhost.h, vmem.h, and vdir.h
!IF "$(USE_IMP_SYS)" == "define"
perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h
$(CC) -c -I$(FULLDIR) -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c
!ENDIF
# We can't have miniperl.exe depend on git_version.h, as miniperl creates it
$(MINI_OBJ) : $(MINIDIR)\.exists $(CORE_NOCFG_H)
$(WIN32_OBJ) : $(CORE_H)
$(CORE_OBJ) : $(CORE_H)
$(DLL_OBJ) : $(CORE_H)
perldll.def : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl ..\git_version.h
$(MINIPERL) -I..\lib create_perllibst_h.pl
$(MINIPERL) -I..\lib -w ..\makedef.pl PLATFORM=win32 CONFIG_H=$(CONFIG_H) $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
CCTYPE=$(CCTYPE) TARG_DIR=..\ > perldll.def
$(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
$(LINK32) -dll -def:perldll.def -out:$@ @Extensions_static @<<
$(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(PERLDLL_OBJ) $(PERLDLL_RES)
<<
$(XCOPY) $(PERLIMPLIB) $(COREDIR)
$(PERLSTATICLIB): Extensions_static
$(LIB32) $(LIB_FLAGS) -out:$@ @Extensions_static @<<
$(PERLDLL_OBJ)
<<
$(XCOPY) $(PERLSTATICLIB) $(COREDIR)
$(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO)
$(MINIDIR)\globals$(o) : $(GENERATED_HEADERS)
$(UUDMAP_H) $(MG_DATA_H) : $(BITCOUNT_H)
$(BITCOUNT_H) : $(GENUUDMAP)
$(GENUUDMAP) $(GENERATED_HEADERS)
$(GENUUDMAP_OBJ) : ..\mg_raw.h
$(GENUUDMAP) : $(GENUUDMAP_OBJ)
$(LINK32) -out:$@ @<<
$(BLINK_FLAGS) $(LIBFILES) $(GENUUDMAP_OBJ)
<<
perlmain.c : runperl.c
copy runperl.c perlmain.c
perlmain$(o) : perlmain.c
$(CC) -I$(FULLDIR) $(CFLAGS_O:-DPERLDLL=-UPERLDLL) $(OBJOUT_FLAG)$@ -c perlmain.c
perlmainst.c : runperl.c
copy runperl.c perlmainst.c
perlmainst$(o) : perlmainst.c
$(CC) -I$(FULLDIR) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
$(LINK32) -out:$@ $(BLINK_FLAGS) \
$(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ)
copy $(PERLEXE) $(WPERLEXE)
$(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
$(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
$(LINK32) -out:$@ $(BLINK_FLAGS) \
$(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ)
MakePPPort: $(MINIPERL) $(CONFIGPM) Extensions_nonxs
$(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 ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(XCOPY) ..\charclass_invlists.inc $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic
Extensions_reonly: ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(XCOPY) ..\charclass_invlists.inc $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(XCOPY) ..\charclass_invlists.inc $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
$(MINIPERL) -I..\lib list_static_libs.pl -o Extensions_static
Extensions_nonxs: ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) ..\pod\perlfunc.pod
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(XCOPY) ..\charclass_invlists.inc $(COREDIR)\*.*
win32/Makefile view on Meta::CPAN
-if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread
-if exist $(LIBDIR)\threads rmdir /s /q $(LIBDIR)\threads
-if exist $(LIBDIR)\Tie\Hash rmdir /s /q $(LIBDIR)\Tie\Hash
-if exist $(LIBDIR)\Unicode\Collate rmdir /s /q $(LIBDIR)\Unicode\Collate
-if exist $(LIBDIR)\Unicode\Collate\Locale rmdir /s /q $(LIBDIR)\Unicode\Collate\Locale
-if exist $(LIBDIR)\version rmdir /s /q $(LIBDIR)\version
-if exist $(LIBDIR)\VMS rmdir /s /q $(LIBDIR)\VMS
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-cd $(PODDIR) && del /f *.html *.bat roffitall \
perl5422delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
perlmacosx.pod perlmodlib.pod perlopenbsd.pod perlos2.pod \
perlos390.pod perlos400.pod perlplan9.pod perlqnx.pod \
perlriscos.pod perlsolaris.pod perlsynology.pod perltoc.pod \
perltru64.pod perltw.pod perluniprops.pod perlvos.pod \
perlwin32.pod
-cd ..\utils && del /f h2ph splain perlbug pl2pm h2xs \
perldoc perlivp libnetcfg enc2xs encguess piconv cpan streamzip *.bat \
xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep shasum corelist zipdetails
-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_RES) perl.base
-cd .. && del /s *.lib *.map *.pdb *.ilk *.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
-del /s ..\utils\Makefile
-if exist $(AUTODIR) rmdir /s /q $(AUTODIR)
-if exist $(COREDIR) rmdir /s /q $(COREDIR)
-if exist pod2htmd.tmp del pod2htmd.tmp
-if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR)
-del /f ..\t\test_state
install : all installbare installhtml
installbare : utils ..\pod\perltoc.pod
$(PERLEXE) ..\installperl
if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.*
if exist $(PERLEXESTATIC) $(XCOPY) $(PERLEXESTATIC) $(INST_BIN)\*.*
$(XCOPY) $(GLOBEXE) $(INST_BIN)\*.*
if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\*.*
$(XCOPY) bin\*.bat $(INST_SCRIPT)\*.*
installhtml : doc
$(RCOPY) $(HTMLDIR)\*.* $(INST_HTML)\*.*
inst_lib : $(CONFIGPM)
$(RCOPY) ..\lib $(INST_LIB)\*.*
$(UNIDATAFILES) ..\pod\perluniprops.pod : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs
cd ..\lib\unicore && \
..\$(MINIPERL) -I.. mktables -P ..\..\pod -maketest -makelist -p -check $@ $(FIRSTUNIFILE)
minitest : $(CONFIG_H) $(MINIPERL) ..\git_version.h $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES)
$(XCOPY) $(MINIPERL) ..\t\$(NULL)
if exist ..\t\perl.exe del /f ..\t\perl.exe
rename ..\t\miniperl.exe perl.exe
$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
# Note this perl.exe is miniperl
cd ..\t && perl.exe TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t pragma/*.t
test-prep : all utils ../pod/perltoc.pod
$(XCOPY) $(PERLEXE) ..\t\$(NULL)
$(XCOPY) $(PERLDLL) ..\t\$(NULL)
$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
set PERL_STATIC_EXT=$(STATIC_EXT)
test : test-prep
cd ..\t
perl.exe harness $(TEST_ARGS) $(TEST_SWITCHES) $(TEST_FILES)
cd ..\win32
test_porting : test-prep
cd ..\t
perl.exe harness $(TEST_ARGS) $(TEST_SWITCHES) porting\*.t ..\lib\diagnostics.t
cd ..\win32
test-reonly : reonly utils
$(XCOPY) $(PERLEXE) ..\t\$(NULL)
$(XCOPY) $(PERLDLL) ..\t\$(NULL)
$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
cd ..\t
perl.exe harness $(OPT) -re \bre\\/ $(EXTRA)
cd ..\win32
regen :
cd ..
regen.pl
cd win32
test-notty : test-prep
set PERL_SKIP_TTY_TEST=1
cd ..\t
perl.exe harness $(TEST_ARGS) $(TEST_SWITCHES) $(TEST_FILES)
cd ..\win32
_test :
$(XCOPY) $(PERLEXE) ..\t\$(NULL)
$(XCOPY) $(PERLDLL) ..\t\$(NULL)
$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
cd ..\t
perl.exe harness $(TEST_ARGS) $(TEST_SWITCHES) $(TEST_FILES)
cd ..\win32
_clean :
-@$(DEL) miniperlmain$(o)
-@$(DEL) $(MINIPERL)
-@$(DEL) perlglob$(o)
-@$(DEL) perlmain$(o)
-@$(DEL) perlmainst$(o)
-@$(DEL) config.h
-@$(DEL) ..\git_version.h
-@$(DEL) $(GLOBEXE)
-@$(DEL) $(PERLEXE)
-@$(DEL) $(WPERLEXE)
-@$(DEL) $(PERLEXESTATIC)
-@$(DEL) $(PERLSTATICLIB)
-@$(DEL) $(PERLDLL)
-@$(DEL) $(CORE_OBJ)
-@$(DEL) $(GENUUDMAP) $(GENUUDMAP_OBJ) $(GENERATED_HEADERS)
-if exist $(MINIDIR) rmdir /s /q $(MINIDIR)
-if exist $(UNIDATADIR1) rmdir /s /q $(UNIDATADIR1)
-if exist $(UNIDATADIR2) rmdir /s /q $(UNIDATADIR2)
-@$(DEL) $(UNIDATAFILES)
-@$(DEL) $(WIN32_OBJ)
-@$(DEL) $(DLL_OBJ)
-@$(DEL) ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp *.res
-@$(DEL) ..\t\*.exe ..\t\*.dll ..\t\*.bat
-@$(DEL) *.ilk
-@$(DEL) *.pdb
-@$(DEL) Extensions_static
clean : Extensions_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.
# Please *don't* use this unless all tests pass.
# If you want to report test failures, use "nmake nok" instead.
ok: utils
$(PERLEXE) ..\utils\perlbug -ok -s "(UNINSTALLED)"
okfile: utils
$(PERLEXE) ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok
nok: utils
$(PERLEXE) ..\utils\perlbug -nok -s "(UNINSTALLED)"
nokfile: utils
$(PERLEXE) ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok
( run in 2.117 seconds using v1.01-cache-2.11-cpan-97f6503c9c8 )