X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fmakefile.mk;h=f0e258de59067458ec53eb6eaa02e91df973b3b7;hb=a29cdaf07aa5601e42ae4955cc0f168e91a7c385;hp=c04fe692ade067947d61afae3e1aba9efff18404;hpb=8957be0a1f3029314645d52181b0ef9bfb2ea9a5;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/makefile.mk b/win32/makefile.mk index c04fe69..f0e258d 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1,58 +1,92 @@ # -# Makefile to build perl on Windowns NT using DMAKE. +# Makefile to build perl on Windows NT using DMAKE. # Supported compilers: # Visual C++ 2.0 thro 5.0 # Borland C++ 5.02 -# Mingw32-0.1.4 with gcc-2.7.2 +# Mingw32 with gcc-2.8.1 or egcs-1.0.2 # # This is set up to build a perl.exe that runs off a shared library # (perl.dll). Also makes individual DLLs for the XS extensions. # +## +## Build configuration. Edit the values below to suit your needs. +## + # # Set these to wherever you want "nmake install" to put your # newly built perl. +# INST_DRV *= c: -INST_TOP *= $(INST_DRV)\perl5004.5x +INST_TOP *= $(INST_DRV)\perl + +# +# 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 +# the safest route, as perl adds the extra version directory to all the +# locations it installs files to. If you disable it, an alternative +# versioned installation can be obtained by setting INST_TOP above to a +# path that includes an arbitrary version string. +# +INST_VER *= \5.00467 # # uncomment to enable threads-capabilities +# #USE_THREADS *= define # # uncomment one +# #CCTYPE *= MSVC20 #CCTYPE *= MSVC CCTYPE *= BORLAND #CCTYPE *= GCC # +# uncomment next line if you want to use the perl object +# Currently, this cannot be enabled if you ask for threads above +# +#OBJECT *= -DPERL_OBJECT + +# # uncomment next line if you want debug version of perl (big,slow) +# #CFG *= Debug # +# uncomment to enable use of PerlCRT.DLL. Highly recommended. It has +# patches that fix known bugs in MSCVRT.DLL. You will need to download it +# from: and follow the directions in the package to install. +# +#USE_PERLCRT *= define + +# # if you have the source for des_fcrypt(), uncomment this and make sure the # file exists (see README.win32). File should be located at the perl # top level directory. +# #CRYPT_SRC *= des_fcrypt.c # # if you didn't set CRYPT_SRC and if you have des_fcrypt() available in a # library, uncomment this, and make sure the library exists (see README.win32) # Specify the full pathname of the library. +# #CRYPT_LIB *= des_fcrypt.lib # # set this if you wish to use perl's malloc # WARNING: Turning this on/off WILL break binary compatibility with extensions # you may have compiled with/without it. Be prepared to recompile all extensions -# if you change the default. -PERL_MALLOC *= define +# if you change the default. Currently, this cannot be enabled if you ask for +# PERL_OBJECT above. +# +#PERL_MALLOC *= define # # set the install locations of the compiler include/libraries -# (you'll need to quote the value if it contains spaces: i.e. -# CCHOME *= "f:\Program Files\vc" # #CCHOME *= f:\msdev\vc CCHOME *= C:\bc5 @@ -61,15 +95,26 @@ CCINCDIR *= $(CCHOME)\include CCLIBDIR *= $(CCHOME)\lib # +# specify space-separated list of extra directories to look for libraries +# +EXTRALIBDIRS *= + +# # set this to point to cmd.exe (only needed if you use some # alternate shell that doesn't grok cmd.exe style commands) +# #SHELL *= g:\winnt\system32\cmd.exe # # set this to your email address (perl will guess a value from # from your loginname and your hostname, which may not be right) +# #EMAIL *= +## +## Build configuration ends. +## + ##################### CHANGE THESE ONLY IF YOU MUST ##################### .IF "$(CRYPT_SRC)$(CRYPT_LIB)" == "" @@ -115,7 +160,7 @@ AUTODIR = ..\lib\auto CC = bcc32 LINK32 = tlink32 -LIB32 = tlib +LIB32 = tlib /P128 IMPLIB = implib -c # @@ -142,18 +187,20 @@ LINK_DBG = CFLAGS = -w -d -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) \ $(PCHFLAGS) $(OPTIMIZE) -LINK_FLAGS = $(LINK_DBG) -L$(CCLIBDIR) +LINK_FLAGS = $(LINK_DBG) -L$(CCLIBDIR) $(EXTRALIBDIRS:^"-L") OBJOUT_FLAG = -o EXEOUT_FLAG = -e +LIBOUT_FLAG = .ELIF "$(CCTYPE)" == "GCC" CC = gcc -pipe LINK32 = gcc -pipe -LIB32 = ar +LIB32 = ar rc IMPLIB = dlltool o = .o +a = .a # # Options @@ -178,9 +225,10 @@ LINK_DBG = .ENDIF CFLAGS = $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE) -LINK_FLAGS = $(LINK_DBG) -L$(CCLIBDIR) +LINK_FLAGS = $(LINK_DBG) -L$(CCLIBDIR) $(EXTRALIBDIRS:^"-L") OBJOUT_FLAG = -o EXEOUT_FLAG = -o +LIBOUT_FLAG = .ELSE @@ -192,10 +240,7 @@ LIB32 = $(LINK32) -lib # Options # -.IF "$(RUNTIME)" == "" RUNTIME = -MD -.ENDIF - INCLUDES = -I.\include -I. -I.. #PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX DEFINES = -DWIN32 -D_CONSOLE $(BUILDOPT) $(CRYPT_FLAG) @@ -203,8 +248,22 @@ LOCDEFS = -DPERLDLL -DPERL_CORE SUBSYS = console CXX_FLAG = -TP -GX +.IF "$(USE_PERLCRT)" == "" +.IF "$(CFG)" == "Debug" +PERLCRTLIBC = msvcrtd.lib +.ELSE +PERLCRTLIBC = msvcrt.lib +.ENDIF +.ELSE +.IF "$(CFG)" == "Debug" +PERLCRTLIBC = PerlCRTD.lib +.ELSE +PERLCRTLIBC = PerlCRT.lib +.ENDIF +.ENDIF + .IF "$(RUNTIME)" == "-MD" -LIBC = msvcrt.lib +LIBC = $(PERLCRTLIBC) .ELSE LIBC = libcmt.lib .ENDIF @@ -213,7 +272,7 @@ LIBC = libcmt.lib .IF "$(CCTYPE)" == "MSVC20" OPTIMIZE = -Od $(RUNTIME) -Z7 -D_DEBUG -DDEBUGGING .ELSE -OPTIMIZE = -Od $(RUNTIME)d -Z7 -D_DEBUG -DDEBUGGING +OPTIMIZE = -Od $(RUNTIME)d -Zi -D_DEBUG -DDEBUGGING .ENDIF LINK_DBG = -debug -pdb:none .ELSE @@ -225,17 +284,20 @@ OPTIMIZE = -Od $(RUNTIME) -DNDEBUG LINK_DBG = -release .ENDIF -# we don't add LIBC here, the compiler does it based on -MD/-MT -LIBFILES = $(CRYPT_LIB) oldnames.lib kernel32.lib user32.lib gdi32.lib \ +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 wsock32.lib mpr.lib winmm.lib \ version.lib odbc32.lib odbccp32.lib +# we add LIBC here, since we may be using PerlCRT.dll +LIBFILES = $(LIBBASEFILES) $(LIBC) + CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \ $(PCHFLAGS) $(OPTIMIZE) -LINK_FLAGS = -nologo $(LINK_DBG) -machine:$(PROCESSOR_ARCHITECTURE) +LINK_FLAGS = -nologo -nodefaultlib $(LINK_DBG) -machine:$(PROCESSOR_ARCHITECTURE) OBJOUT_FLAG = -Fo EXEOUT_FLAG = -Fe +LIBOUT_FLAG = /out: .ENDIF @@ -249,6 +311,7 @@ CFLAGS_O = $(CFLAGS) $(OBJECT) ############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ############## o *= .obj +a *= .lib LKPRE = INPUT ( LKPOST = ) @@ -257,7 +320,7 @@ LKPOST = ) # Rules # -.SUFFIXES : .c $(o) .dll .lib .exe .a +.SUFFIXES : .c $(o) .dll $(a) .exe .c$(o): $(CC) -c $(null,$(<:d) $(NULL) -I$(<:d)) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $< @@ -271,15 +334,16 @@ $(o).dll: $(IMPLIB) $(*B).lib $@ .ELIF "$(CCTYPE)" == "GCC" $(LINK32) -o $@ $(LINK_FLAGS) $< $(LIBFILES) - $(IMPLIB) -def $(*B).def $(*B).lib $@ + $(IMPLIB) -def $(*B).def $(*B).a $@ .ELSE $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \ -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL) .ENDIF # -INST_BIN = $(INST_TOP)\bin -INST_LIB = $(INST_TOP)\lib +INST_BIN = $(INST_TOP)$(INST_VER)\bin\$(ARCHNAME) +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 @@ -289,14 +353,6 @@ EXTUTILSDIR = $(LIBDIR)\extutils # # various targets -.IF "$(OBJECT)" == "-DPERL_OBJECT" -PERLIMPLIB = ..\perlcore.lib -PERLDLL = ..\perlcore.dll -.ELSE -PERLIMPLIB = ..\perl.lib -PERLDLL = ..\perl.dll -.ENDIF - MINIPERL = ..\miniperl.exe MINIDIR = .\mini PERLEXE = ..\perl.exe @@ -308,6 +364,29 @@ X2P = ..\x2p\a2p.exe PL2BAT = bin\pl2bat.pl GLOBBAT = bin\perlglob.bat +UTILS = \ + ..\utils\h2ph \ + ..\utils\splain \ + ..\utils\perlbug \ + ..\utils\pl2pm \ + ..\utils\c2ph \ + ..\utils\h2xs \ + ..\utils\perldoc \ + ..\utils\pstruct \ + ..\utils\perlcc \ + ..\pod\checkpods \ + ..\pod\pod2html \ + ..\pod\pod2latex \ + ..\pod\pod2man \ + ..\pod\pod2text \ + ..\x2p\find2perl \ + ..\x2p\s2p \ + bin\www.pl \ + bin\runperl.pl \ + bin\pl2bat.pl \ + bin\perlglob.pl \ + bin\search.pl + .IF "$(CCTYPE)" == "BORLAND" CFGSH_TMPL = config.bc @@ -317,15 +396,28 @@ CFGH_TMPL = config_H.bc CFGSH_TMPL = config.gc CFGH_TMPL = config_H.gc +PERLIMPLIB *= ..\libperl$(a) .ELSE CFGSH_TMPL = config.vc CFGH_TMPL = config_H.vc +.IF "$(USE_PERLCRT)" == "" PERL95EXE = ..\perl95.exe +.ENDIF .ENDIF +.IF "$(OBJECT)" == "-DPERL_OBJECT" +PERLIMPLIB *= ..\perlcore$(a) +PERLDLL = ..\perlcore.dll +CAPILIB = $(COREDIR)\PerlCAPI$(a) +.ELSE +PERLIMPLIB *= ..\perl$(a) +PERLDLL = ..\perl.dll +CAPILIB = +.ENDIF + XCOPY = xcopy /f /r /i /d RCOPY = xcopy /f /r /i /e /d NOOP = @echo @@ -336,7 +428,7 @@ NOOP = @echo XSUBPP = ..\$(MINIPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \ -C++ -prototypes -CORE_SRC = \ +MICROCORE_SRC = \ ..\av.c \ ..\byterun.c \ ..\deb.c \ @@ -365,15 +457,15 @@ CORE_SRC = \ ..\util.c .IF "$(CRYPT_SRC)" != "" -CORE_SRC += ..\$(CRYPT_SRC) +MICROCORE_SRC += ..\$(CRYPT_SRC) .ENDIF .IF "$(PERL_MALLOC)" == "define" -CORE_SRC += ..\malloc.c +EXTRACORE_SRC += ..\malloc.c .ENDIF .IF "$(OBJECT)" == "" -CORE_SRC += ..\perlio.c +EXTRACORE_SRC += ..\perlio.c .ENDIF WIN32_SRC = \ @@ -407,7 +499,7 @@ X2P_SRC = \ ..\x2p\util.c \ ..\x2p\walk.c -CORE_H = \ +CORE_NOCFG_H = \ ..\av.h \ ..\byterun.h \ ..\bytecode.h \ @@ -419,12 +511,12 @@ CORE_H = \ ..\gv.h \ ..\handy.h \ ..\hv.h \ + ..\iperlsys.h \ ..\mg.h \ ..\nostdio.h \ ..\op.h \ ..\opcode.h \ ..\perl.h \ - ..\perlio.h \ ..\perlsdio.h \ ..\perlsfio.h \ ..\perly.h \ @@ -437,7 +529,6 @@ CORE_H = \ ..\unixish.h \ ..\util.h \ ..\XSUB.h \ - .\config.h \ ..\EXTERN.h \ ..\perlvars.h \ ..\intrpvar.h \ @@ -447,19 +538,18 @@ CORE_H = \ .\include\sys\socket.h \ .\win32.h -CORE_OBJ = $(CORE_SRC:db:+$(o)) +CORE_H = $(CORE_NOCFG_H) .\config.h + +MICROCORE_OBJ = $(MICROCORE_SRC:db:+$(o)) +CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:db:+$(o)) WIN32_OBJ = $(WIN32_SRC:db:+$(o)) -MINICORE_OBJ = $(MINIDIR)\{$(CORE_OBJ:f) miniperlmain$(o)} +MINICORE_OBJ = $(MINIDIR)\{$(MICROCORE_OBJ:f) miniperlmain$(o) $(EXTRACORE_SRC:db:+$(o))} MINIWIN32_OBJ = $(MINIDIR)\{$(WIN32_OBJ:f)} MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ) PERL95_OBJ = $(PERL95_SRC:db:+$(o)) DLL_OBJ = $(DLL_SRC:db:+$(o)) X2P_OBJ = $(X2P_SRC:db:+$(o)) -.IF "$(OBJECT)" != "" -MINICORE_OBJ += $(MINIDIR)\perlio$(o) -.ENDIF - PERLDLL_OBJ = $(CORE_OBJ) PERLEXE_OBJ = perlmain$(o) @@ -467,6 +557,7 @@ PERLEXE_OBJ = perlmain$(o) PERLDLL_OBJ += $(WIN32_OBJ) $(DLL_OBJ) .ELSE PERLEXE_OBJ += $(WIN32_OBJ) $(DLL_OBJ) +PERL95_OBJ += DynaLoadmt$(o) .ENDIF DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B @@ -493,7 +584,7 @@ ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll THREAD_DLL = $(AUTODIR)\Thread\Thread.dll B_DLL = $(AUTODIR)\B\B.dll -EXTENSION_C = \ +EXTENSION_C = \ $(SOCKET).c \ $(FCNTL).c \ $(OPCODE).c \ @@ -504,7 +595,7 @@ EXTENSION_C = \ $(THREAD).c \ $(B).c -EXTENSION_DLL = \ +EXTENSION_DLL = \ $(SOCKET_DLL) \ $(FCNTL_DLL) \ $(OPCODE_DLL) \ @@ -512,9 +603,13 @@ EXTENSION_DLL = \ $(IO_DLL) \ $(POSIX_DLL) \ $(ATTRS_DLL) \ - $(THREAD_DLL) \ $(B_DLL) +.IF "$(OBJECT)" == "" +EXTENSION_DLL += \ + $(THREAD_DLL) +.ENDIF + POD2HTML = $(PODDIR)\pod2html POD2MAN = $(PODDIR)\pod2man POD2LATEX = $(PODDIR)\pod2latex @@ -523,17 +618,21 @@ POD2TEXT = $(PODDIR)\pod2text CFG_VARS = \ "INST_DRV=$(INST_DRV)" \ "INST_TOP=$(INST_TOP)" \ + "INST_VER=$(INST_VER)" \ "archname=$(ARCHNAME)" \ "cc=$(CC)" \ - "ccflags=$(OPTIMIZE) $(DEFINES)" \ + "ccflags=$(OPTIMIZE) $(DEFINES) $(OBJECT)" \ "cf_email=$(EMAIL)" \ "d_crypt=$(D_CRYPT)" \ "d_mymalloc=$(PERL_MALLOC)" \ "libs=$(LIBFILES:f)" \ "incpath=$(CCINCDIR)" \ - "libpth=$(strip $(CCLIBDIR) $(LIBFILES:d))" \ + "libperl=$(PERLIMPLIB:f)" \ + "libpth=$(strip $(CCLIBDIR) $(EXTRALIBDIRS) $(LIBFILES:d))" \ "libc=$(LIBC)" \ "make=dmake" \ + "_o=$(o)" "obj_ext=$(o)" \ + "_a=$(a)" "lib_ext=$(a)" \ "static_ext=$(STATIC_EXT)" \ "dynamic_ext=$(DYNAMIC_EXT)" \ "usethreads=$(USE_THREADS)" \ @@ -544,8 +643,8 @@ CFG_VARS = \ # Top targets # -all : $(GLOBEXE) $(MINIMOD) $(CONFIGPM) $(PERLEXE) $(PERL95EXE) $(X2P) \ - $(EXTENSION_DLL) +all : .\config.h $(GLOBEXE) $(MINIMOD) $(CONFIGPM) $(PERLEXE) $(PERL95EXE) \ + $(CAPILIB) $(X2P) $(EXTENSION_DLL) $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c @@ -568,7 +667,7 @@ perlglob$(o) : perlglob.c config.w32 : $(CFGSH_TMPL) copy $(CFGSH_TMPL) config.w32 -.\config.h : $(CFGH_TMPL) +.\config.h : $(CFGH_TMPL) $(CORE_NOCFG_H) -del /f config.h copy $(CFGH_TMPL) config.h @@ -584,7 +683,7 @@ regen_config_h: cd .. && perl configpm -del /f $(CFGH_TMPL) -mkdir ..\lib\CORE - -perl -I..\lib config_h.PL + -perl -I..\lib config_h.PL "INST_VER=$(INST_VER)" rename config.h $(CFGH_TMPL) $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl @@ -593,7 +692,8 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl $(XCOPY) ..\*.h $(COREDIR)\*.* $(XCOPY) *.h $(COREDIR)\*.* $(RCOPY) include $(COREDIR)\*.* - $(MINIPERL) -I..\lib config_h.PL || $(MAKE) $(MAKEMACROS) $(CONFIGPM) + $(MINIPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)" \ + || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MINIPERL) : $(MINIDIR) $(MINI_OBJ) .IF "$(CCTYPE)" == "BORLAND" @@ -610,15 +710,18 @@ $(MINIPERL) : $(MINIDIR) $(MINI_OBJ) $(MINIDIR) : if not exist "$(MINIDIR)" mkdir "$(MINIDIR)" -$(MINICORE_OBJ) : $(CORE_H) +$(MINICORE_OBJ) : $(CORE_NOCFG_H) $(CC) -c $(CFLAGS) $(OBJOUT_FLAG)$@ ..\$(*B).c -$(MINIWIN32_OBJ) : $(CORE_H) +$(MINIWIN32_OBJ) : $(CORE_NOCFG_H) $(CC) -c $(CFLAGS) $(OBJOUT_FLAG)$@ $(*B).c +# 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 +$(MINI_OBJ) : $(CORE_NOCFG_H) + $(WIN32_OBJ) : $(CORE_H) $(CORE_OBJ) : $(CORE_H) -$(MINI_OBJ) : $(CORE_H) $(DLL_OBJ) : $(CORE_H) $(PERL95_OBJ) : $(CORE_H) $(X2P_OBJ) : $(CORE_H) @@ -711,6 +814,7 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) .IF "$(CCTYPE)" != "BORLAND" .IF "$(CCTYPE)" != "GCC" +.IF "$(USE_PERLCRT)" == "" perl95.c : runperl.c copy runperl.c perl95.c @@ -726,20 +830,49 @@ win32mt$(o) : win32.c $(CC) $(CFLAGS_O) -MT -UPERLDLL -DWIN95FIX -c \ $(OBJOUT_FLAG)win32mt$(o) win32.c +DynaLoadmt$(o) : $(DYNALOADER).c + $(CC) $(CFLAGS_O) -MT -UPERLDLL -DWIN95FIX -c \ + $(OBJOUT_FLAG)DynaLoadmt$(o) $(DYNALOADER).c + $(PERL95EXE): $(PERLDLL) $(CONFIGPM) $(PERL95_OBJ) $(LINK32) -subsystem:console -nodefaultlib -out:$@ $(LINK_FLAGS) \ - $(LIBFILES) $(PERL95_OBJ) $(PERLIMPLIB) libcmt.lib + $(LIBBASEFILES) $(PERL95_OBJ) $(PERLIMPLIB) libcmt.lib .ENDIF .ENDIF +.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 $(*B)_pm.PL $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL) cd $(EXTDIR)\$(*B) && $(XSUBPP) dl_win32.xs > $(*B).c $(XCOPY) $(EXTDIR)\$(*B)\dlutils.c . +.IF "$(OBJECT)" == "-DPERL_OBJECT" + +PerlCAPI.cpp : $(MINIPERL) + $(MINIPERL) GenCAPI.pl $(COREDIR) + +PerlCAPI$(o) : PerlCAPI.cpp +.IF "$(CCTYPE)" == "BORLAND" + $(CC) $(CFLAGS_O) -c $(OBJOUT_FLAG)PerlCAPI$(o) PerlCAPI.cpp +.ELIF "$(CCTYPE)" == "GCC" + $(CC) $(CFLAGS_O) -c $(OBJOUT_FLAG)PerlCAPI$(o) PerlCAPI.cpp +.ELSE + $(CC) $(CFLAGS_O) $(RUNTIME) -UPERLDLL -c \ + $(OBJOUT_FLAG)PerlCAPI$(o) PerlCAPI.cpp +.ENDIF + +$(CAPILIB) : PerlCAPI.cpp PerlCAPI$(o) +.IF "$(CCTYPE)" == "BORLAND" + $(LIB32) $(LIBOUT_FLAG)$(CAPILIB) +PerlCAPI$(o) +.ELSE + $(LIB32) $(LIBOUT_FLAG)$(CAPILIB) PerlCAPI$(o) +.ENDIF + +.ENDIF + $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs @@ -789,25 +922,19 @@ $(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs cd $(EXTDIR)\$(*B) && $(MAKE) doc: $(PERLEXE) - cd ..\pod && $(MAKE) -f ..\win32\pod.mak checkpods \ - pod2html pod2latex pod2man pod2text - cd ..\pod && $(XCOPY) *.bat ..\win32\bin\*.* copy ..\README.win32 ..\pod\perlwin32.pod $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=./html \ --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\ --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse -utils: $(PERLEXE) +utils: $(PERLEXE) $(X2P) cd ..\utils && $(MAKE) PERL=$(MINIPERL) - cd ..\utils && $(PERLEXE) ..\win32\$(PL2BAT) h2ph splain perlbug \ - pl2pm c2ph h2xs perldoc pstruct - $(XCOPY) ..\utils\*.bat bin\*.* - $(PERLEXE) -I..\lib $(PL2BAT) bin\network.pl bin\www.pl bin\runperl.pl \ - bin\pl2bat.pl bin\perlglob.pl + cd ..\pod && $(MAKE) -f ..\win32\pod.mak converters + $(PERLEXE) $(PL2BAT) $(UTILS) distclean: clean -del /f $(MINIPERL) $(PERLEXE) $(PERL95EXE) $(PERLDLL) $(GLOBEXE) \ - $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD) + $(PERLIMPLIB) ..\miniperl$(a) $(MINIMOD) -del /f *.def *.map -del /f $(EXTENSION_DLL) -del /f $(EXTENSION_C) $(DYNALOADER).c @@ -830,22 +957,20 @@ distclean: clean -del /f perl95.c .ENDIF -del /f bin\*.bat - -cd $(EXTDIR) && del /s *.lib *.def *.map *.bs Makefile *$(o) pm_to_blib + -cd $(EXTDIR) && del /s *$(a) *.def *.map *.bs Makefile *$(o) pm_to_blib -rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR) -rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR) -install : all installbare installutils installhtml +install : all installbare installhtml -installbare : +installbare : utils $(PERLEXE) ..\installperl .IF "$(PERL95EXE)" != "" $(XCOPY) $(PERL95EXE) $(INST_BIN)\*.* .ENDIF - -installutils : utils $(XCOPY) $(GLOBEXE) $(INST_BIN)\*.* - $(XCOPY) bin\*.bat $(INST_BIN)\*.* - $(XCOPY) ..\pod\*.bat $(INST_BIN)\*.* + $(XCOPY) bin\*.bat $(INST_SCRIPT)\*.* + $(XCOPY) bin\network.pl $(INST_LIB)\*.* installhtml : doc $(RCOPY) html\*.* $(INST_HTML)\*.* @@ -888,6 +1013,7 @@ clean : -@erase $(MINIPERL) -@erase perlglob$(o) -@erase perlmain$(o) + -@erase PerlCAPI.cpp -@erase config.w32 -@erase /f config.h -@erase $(GLOBEXE) @@ -898,7 +1024,7 @@ clean : -@erase $(WIN32_OBJ) -@erase $(DLL_OBJ) -@erase $(X2P_OBJ) - -@erase ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp + -@erase ..\*$(o) ..\*$(a) ..\*.exp *$(o) *$(a) *.exp -@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat -@erase ..\x2p\*.exe ..\x2p\*.bat -@erase *.ilk