Perl-Dist-Strawberry
view release on metacpan or search on metacpan
share/perl-5.20/win32_makefile.mk view on Meta::CPAN
i = .i
o = .o
a = .a
#
# Options
#
INCLUDES = -I.\include -I. -I.. -I$(COREDIR)
DEFINES = -DWIN32
.IF "$(WIN64)" == "define"
DEFINES += -DWIN64 -DCONSERVATIVE
.ENDIF
LOCDEFS = -DPERLDLL -DPERL_CORE
SUBSYS = console
CXX_FLAG = -xc++
# 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 = $(LIBC) \
-lmoldname -lkernel32 -luser32 -lgdi32 \
-lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 \
-loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr \
-lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
.IF "$(CFG)" == "Debug"
OPTIMIZE = -g -O2 -DDEBUGGING
LINK_DBG = -g
.ELSE
OPTIMIZE = -O2
LINK_DBG =
.ENDIF
EXTRACFLAGS =
CFLAGS = $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE)
LINK_FLAGS = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
OBJOUT_FLAG = -o
EXEOUT_FLAG = -o
LIBOUT_FLAG =
BUILDOPT += -fno-strict-aliasing -mms-bitfields
.ELSE
# All but the free version of VC++ 7.x can load DLLs on demand. Makes the test
# suite run in about 10% less time.
.IF "$(CCTYPE)" != "MSVC70FREE"
DELAYLOAD = -DELAYLOAD:ws2_32.dll delayimp.lib
.ENDIF
# 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. 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
# Most relevant compiler-specific options fall into two groups:
# either pre-MSVC80 or MSVC80 onwards, so define a macro for this.
.IF "$(CCTYPE)" == "MSVC60" || \
"$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC70FREE"
PREMSVC80 = define
.ELSE
PREMSVC80 = undef
.ENDIF
.IF "$(__ICC)" != "define"
CC = cl
LINK32 = link
.ELSE
CC = icl
LINK32 = xilink
.ENDIF
LIB32 = $(LINK32) -lib
RSC = rc
#
# Options
#
INCLUDES = -I$(COREDIR) -I.\include -I. -I..
#PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX
DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT
LOCDEFS = -DPERLDLL -DPERL_CORE
SUBSYS = console
CXX_FLAG = -TP -EHsc
LIBC = msvcrt.lib
.IF "$(CFG)" == "Debug"
OPTIMIZE = -Od -MD -Zi -DDEBUGGING
LINK_DBG = -debug
.ELSE
# -O1 yields smaller code, which turns out to be faster than -O2 on x86 and x64
OPTIMIZE = -O1 -MD -Zi -DNDEBUG
# we enable debug symbols in release builds also
LINK_DBG = -debug -opt:ref,icf
# you may want to enable this if you want COFF symbols in the executables
# in addition to the PDB symbols. The default Dr. Watson that ships with
# Windows can use the the former but not latter. The free WinDbg can be
# installed to get better stack traces from just the PDB symbols, so we
# avoid the bloat of COFF symbols by default.
#LINK_DBG = $(LINK_DBG) -debugtype:both
.IF "$(CCTYPE)" != "MSVC60"
# enable Whole Program Optimizations (WPO) and Link Time Code Generation (LTCG)
OPTIMIZE += -GL
LINK_DBG += -ltcg
LIB_FLAGS = -ltcg
.ENDIF
.ENDIF
.IF "$(WIN64)" == "define"
DEFINES += -DWIN64 -DCONSERVATIVE
OPTIMIZE += -fp:precise
.ENDIF
share/perl-5.20/win32_makefile.mk view on Meta::CPAN
.ENDIF
CFLAGS_O = $(CFLAGS) $(BUILDOPT)
.IF "$(PREMSVC80)" == "undef"
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
PRIV_LINK_FLAGS *=
BLINK_FLAGS = $(PRIV_LINK_FLAGS) $(LINK_FLAGS)
#################### do not edit below this line #######################
############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ##############
# Some old dmakes (including Sarathy's one at
# http://search.cpan.org/CPAN/authors/id/G/GS/GSAR/dmake-4.1pl1-win32.zip)
# don't support logical OR (||) or logical AND (&&) in conditional
# expressions and hence don't process this makefile correctly. Determine
# whether this is the case so that we can give the user an error message.
.IF 1 == 1 || 1 == 1
NEWDMAKE = define
.ELSE
NEWDMAKE = undef
.ENDIF
o *= .obj
a *= .lib
LKPRE = INPUT (
LKPOST = )
#
# Rules
#
.SUFFIXES : .c .i $(o) .dll $(a) .exe .rc .res
.c$(o):
$(CC) -c $(null,$(<:d) $(NULL) -I$(<:d)) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
.c.i:
$(CC) -c $(null,$(<:d) $(NULL) -I$(<:d)) $(CFLAGS_O) -E $< >$@
.y.c:
$(NOOP)
$(o).dll:
.IF "$(CCTYPE)" == "GCC"
$(LINK32) -o $@ $(BLINK_FLAGS) $< $(LIBFILES)
$(IMPLIB) --input-def $(*B).def --output-lib $(*B).a $@
.ELSE
$(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \
-out:$@ $(BLINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
$(EMBED_DLL_MANI)
.ENDIF
.rc.res:
.IF "$(CCTYPE)" == "GCC"
$(RSC) --use-temp-file --include-dir=. --include-dir=.. -O COFF -D INCLUDE_MANIFEST -i $< -o $@
.ELSE
$(RSC) -i.. -DINCLUDE_MANIFEST $<
.ENDIF
#
# various targets
MINIPERL = ..\miniperl.exe
MINIDIR = .\mini
PERLEXE = ..\perl.exe
WPERLEXE = ..\wperl.exe
PERLEXESTATIC = ..\perl-static.exe
STATICDIR = .\static.tmp
GLOBEXE = ..\perlglob.exe
CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl
X2P = ..\x2p\a2p.exe
GENUUDMAP = ..\generate_uudmap.exe
.IF "$(BUILD_STATIC)" == "define" || "$(ALL_STATIC)" == "define"
PERLSTATIC = static
.ELSE
PERLSTATIC =
.ENDIF
# Unicode data files generated by mktables
UNIDATAFILES = ..\lib\unicore\Decomposition.pl ..\lib\unicore\TestProp.pl \
..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm \
..\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 =
# 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
UTILS = \
..\utils\h2ph \
..\utils\splain \
..\utils\perlbug \
..\utils\pl2pm \
..\utils\c2ph \
..\utils\pstruct \
..\utils\h2xs \
..\utils\perldoc \
share/perl-5.20/win32_makefile.mk view on Meta::CPAN
libs=$(LIBFILES:f) ~ \
incpath=$(CCINCDIR) ~ \
libperl=$(PERLIMPLIB:f) ~ \
libpth=$(CCLIBDIR);$(EXTRALIBDIRS) ~ \
libc=$(LIBC) ~ \
make=dmake ~ \
_o=$(o) ~ \
obj_ext=$(o) ~ \
_a=$(a) ~ \
lib_ext=$(a) ~ \
static_ext=$(STATIC_EXT) ~ \
usethreads=$(USE_ITHREADS) ~ \
useithreads=$(USE_ITHREADS) ~ \
usemultiplicity=$(USE_MULTI) ~ \
useperlio=$(USE_PERLIO) ~ \
use64bitint=$(USE_64_BIT_INT) ~ \
uselargefiles=$(USE_LARGE_FILES) ~ \
usesitecustomize=$(USE_SITECUST) ~ \
LINK_FLAGS=$(LINK_FLAGS) ~ \
optimize=$(OPTIMIZE) ~ \
ARCHPREFIX=$(ARCHPREFIX) ~ \
WIN64=$(WIN64)
#
# Top targets
#
all : CHECKDMAKE .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) \
$(CONFIGPM) $(UNIDATAFILES) MakePPPort \
$(PERLEXE) $(X2P) Extensions Extensions_nonxs $(PERLSTATIC)
regnodes : ..\regnodes.h
..\regcomp$(o) : ..\regnodes.h ..\regcharclass.h
..\regexec$(o) : ..\regnodes.h ..\regcharclass.h
reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) \
$(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \
$(X2P) Extensions_reonly
static: $(PERLEXESTATIC)
#----------------------------------------------------------------
CHECKDMAKE :
.IF "$(NEWDMAKE)" == "define"
$(NOOP)
.ELSE
@echo Your dmake doesn't support ^|^| or ^&^& in conditional expressions.
@echo Please get the latest dmake from http://search.cpan.org/dist/dmake/
@exit 1
.ENDIF
$(GLOBEXE) : perlglob$(o)
.IF "$(CCTYPE)" == "GCC"
$(LINK32) $(BLINK_FLAGS) -mconsole -o $@ perlglob$(o) $(LIBFILES)
.ELSE
$(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \
perlglob$(o) setargv$(o)
$(EMBED_EXE_MANI)
.ENDIF
perlglob$(o) : perlglob.c
config.w32 : $(CFGSH_TMPL)
copy $(CFGSH_TMPL) config.w32
#
# 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 it's "-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).
#
.\config.h : $(CFGH_TMPL) $(CORE_NOCFG_H)
-del /f config.h
copy $(CFGH_TMPL) config.h
@echo.>>$@
@echo #ifndef _config_h_footer_>>$@
@echo #define _config_h_footer_>>$@
@echo #undef Off_t>>$@
@echo #undef LSEEKSIZE>>$@
@echo #undef Off_t_size>>$@
@echo #undef PTRSIZE>>$@
@echo #undef SSize_t>>$@
@echo #undef HAS_ATOLL>>$@
@echo #undef HAS_STRTOLL>>$@
@echo #undef HAS_STRTOULL>>$@
@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 Size_t_size>>$@
.IF "$(USE_LARGE_FILES)"=="define"
@echo #define Off_t $(INT64)>>$@
@echo #define LSEEKSIZE ^8>>$@
@echo #define Off_t_size ^8>>$@
.ELSE
@echo #define Off_t long>>$@
@echo #define LSEEKSIZE ^4>>$@
@echo #define Off_t_size ^4>>$@
.ENDIF
.IF "$(WIN64)"=="define"
@echo #define PTRSIZE ^8>>$@
@echo #define SSize_t $(INT64)>>$@
@echo #define HAS_ATOLL>>$@
@echo #define HAS_STRTOLL>>$@
@echo #define HAS_STRTOULL>>$@
@echo #define Size_t_size ^8>>$@
.ELSE
share/perl-5.20/win32_makefile.mk view on Meta::CPAN
@echo #define UVxf "$(INT64f)x">>$@
@echo #define UVXf "$(INT64f)X">>$@
@echo #define USE_64_BIT_INT>>$@
.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>>$@
.ENDIF
@echo #endif>>$@
..\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.gc, then make perl using GCC in a minimal configuration (i.e.
# with MULTI, ITHREADS, IMP_SYS, LARGE_FILES and PERLIO off), then make
# this target to regenerate config_H.gc.
regen_config_h:
$(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file $(mktmp $(CFG_VARS)) \
$(CFGSH_TMPL) > ..\config.sh
$(MINIPERL) -I..\lib ..\configpm --chdir=..
-del /f $(CFGH_TMPL)
-$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)"
rename config.h $(CFGH_TMPL)
$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL
$(MINIPERL) -I..\lib ..\configpm --chdir=..
if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL)
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(XCOPY) *.h $(COREDIR)\*.*
$(RCOPY) include $(COREDIR)\*.*
$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)" \
|| $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE)
# See the comment in Makefile.SH explaining this seemingly cranky ordering
$(MINIPERL) : ..\lib\buildcustomize.pl
..\lib\buildcustomize.pl : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS) ..\write_buildcustomize.pl
.IF "$(CCTYPE)" == "GCC"
$(LINK32) -v -mconsole -o $(MINIPERL) $(BLINK_FLAGS) \
$(mktmp $(LKPRE) $(MINI_OBJ) $(LIBFILES) $(LKPOST))
.ELSE
$(LINK32) -subsystem:console -out:$(MINIPERL) $(BLINK_FLAGS) \
@$(mktmp $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ))
$(EMBED_EXE_MANI:s/$@/$(MINIPERL)/)
.ENDIF
$(MINIPERL) -I..\lib -f ..\write_buildcustomize.pl ..
$(MINIDIR) :
if not exist "$(MINIDIR)" mkdir "$(MINIDIR)"
$(MINICORE_OBJ) : $(CORE_NOCFG_H)
$(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ ..\$(*B).c
$(MINIWIN32_OBJ) : $(CORE_NOCFG_H)
$(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(*B).c
# -DPERL_IMPLICIT_SYS needs C++ for perllib.c
# rules wrapped in .IFs break Win9X build (we end up with unbalanced []s unless
# unless the .IF is true), so instead we use a .ELSE with the default.
# This is the only file that depends on perlhost.h, vmem.h, and vdir.h
perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h
.IF "$(USE_IMP_SYS)" == "define"
$(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c
.ELSE
$(CC) -c -I. $(CFLAGS_O) $(OBJOUT_FLAG)$@ perllib.c
.ENDIF
# 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)
$(CORE_OBJ) : $(CORE_H)
$(DLL_OBJ) : $(CORE_H)
$(X2P_OBJ) : $(CORE_H)
perldll.def : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\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) TARG_DIR=..\ > perldll.def
$(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
.IF "$(CCTYPE)" == "GCC"
$(LINK32) -mdll -o $@ -Wl,--base-file -Wl,perl.base $(BLINK_FLAGS) \
$(mktmp $(LKPRE) $(PERLDLL_OBJ) \
$(shell @type Extensions_static) \
$(LIBFILES) $(LKPOST))
$(IMPLIB) --output-lib $(PERLIMPLIB) \
--dllname $(PERLDLL:b).dll \
--def perldll.def \
--base-file perl.base \
--output-exp perl.exp
$(LINK32) -mdll -o $@ $(BLINK_FLAGS) \
$(mktmp $(LKPRE) $(PERLDLL_OBJ) \
$(shell @type Extensions_static) \
$(LIBFILES) perl.exp $(LKPOST))
.ELSE
$(LINK32) -dll -def:perldll.def -out:$@ $(BLINK_FLAGS) \
@Extensions_static \
@$(mktmp -base:0x28000000 $(DELAYLOAD) $(LIBFILES) \
$(PERLDLL_RES) $(PERLDLL_OBJ))
$(EMBED_DLL_MANI)
.ENDIF
$(XCOPY) $(PERLIMPLIB) $(COREDIR)
$(PERLSTATICLIB): $(PERLDLL_OBJ) Extensions_static
.IF "$(CCTYPE)" == "GCC"
$(LIB32) $(LIB_FLAGS) $@ $(PERLDLL_OBJ)
if exist $(STATICDIR) rmdir /s /q $(STATICDIR)
for %i in ($(shell @type Extensions_static)) do \
@mkdir $(STATICDIR) && cd $(STATICDIR) && \
$(ARCHPREFIX)ar x ..\%i && \
$(ARCHPREFIX)ar q ..\$@ *$(o) && \
cd .. && rmdir /s /q $(STATICDIR)
.ELSE
$(LIB32) $(LIB_FLAGS) -out:$@ @Extensions_static \
@$(mktmp $(PERLDLL_OBJ))
.ENDIF
$(XCOPY) $(PERLSTATICLIB) $(COREDIR)
$(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO)
..\x2p\a2p$(o) : ..\x2p\a2p.c
$(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\a2p.c
..\x2p\hash$(o) : ..\x2p\hash.c
$(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\hash.c
..\x2p\str$(o) : ..\x2p\str.c
$(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\str.c
..\x2p\util$(o) : ..\x2p\util.c
$(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\util.c
..\x2p\walk$(o) : ..\x2p\walk.c
$(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\walk.c
$(X2P) : $(MINIPERL) $(X2P_OBJ) Extensions
$(MINIPERL) -I..\lib ..\x2p\find2perl.PL
$(MINIPERL) -I..\lib ..\x2p\s2p.PL
.IF "$(CCTYPE)" == "GCC"
$(LINK32) -v -o $@ $(BLINK_FLAGS) \
$(mktmp $(LKPRE) $(X2P_OBJ) $(LIBFILES) $(LKPOST))
.ELSE
$(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
@$(mktmp $(LIBFILES) $(X2P_OBJ))
$(EMBED_EXE_MANI)
.ENDIF
$(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)
.IF "$(CCTYPE)" == "GCC"
$(LINK32) -v -o $@ $(BLINK_FLAGS) \
$(mktmp $(LKPRE) $(GENUUDMAP_OBJ) $(LIBFILES) $(LKPOST))
.ELSE
$(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
@$(mktmp $(LIBFILES) $(GENUUDMAP_OBJ))
$(EMBED_EXE_MANI)
.ENDIF
perlmain.c : runperl.c
copy runperl.c perlmain.c
perlmain$(o) : perlmain.c
$(CC) $(CFLAGS_O:s,-DPERLDLL,-UPERLDLL,) $(OBJOUT_FLAG)$@ -c perlmain.c
perlmainst.c : runperl.c
copy runperl.c perlmainst.c
perlmainst$(o) : perlmainst.c
$(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
.IF "$(CCTYPE)" == "GCC"
$(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \
$(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES)
.ELSE
$(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
$(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ)
$(EMBED_EXE_MANI)
.ENDIF
copy $(PERLEXE) $(WPERLEXE)
$(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
$(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
.IF "$(CCTYPE)" == "GCC"
$(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \
$(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES)
.ELSE
$(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
$(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ)
$(EMBED_EXE_MANI)
.ENDIF
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)\*.*
$(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)\*.*
$(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)\*.*
$(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_nonxs : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) ..\pod\perlfunc.pod
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs
$(DYNALOADER) : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader
Extensions_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 ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
#-------------------------------------------------------------------------------
doc: $(PERLEXE) ..\pod\perltoc.pod
$(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
--podpath=pod:lib:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\
--recurse
..\utils\Makefile: $(CONFIGPM) ..\utils\Makefile.PL
$(MINIPERL) -I..\lib ..\utils\Makefile.PL ..
# Note that this next section is parsed (and regenerated) by pod/buildtoc
# so please check that script before making structural changes here
utils: $(PERLEXE) $(X2P) ..\utils\Makefile
cd ..\utils && $(MAKE) PERL=$(MINIPERL)
copy ..\README.aix ..\pod\perlaix.pod
copy ..\README.amiga ..\pod\perlamiga.pod
copy ..\README.android ..\pod\perlandroid.pod
copy ..\README.bs2000 ..\pod\perlbs2000.pod
copy ..\README.ce ..\pod\perlce.pod
copy ..\README.cn ..\pod\perlcn.pod
copy ..\README.cygwin ..\pod\perlcygwin.pod
copy ..\README.dos ..\pod\perldos.pod
copy ..\README.freebsd ..\pod\perlfreebsd.pod
copy ..\README.haiku ..\pod\perlhaiku.pod
( run in 0.469 second using v1.01-cache-2.11-cpan-5511b514fd6 )