X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fmakefile.mk;h=0fb6734523bce0d55db0efa1b928b0514ef46ffc;hb=3e83fff7485ec2aa4f013e05fa43596a76f92102;hp=9e59de7c52231eb293ff17f54c782ea8f33cb5bf;hpb=ba3eb2af450c2577c20a691fb686a5e02955c48b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/makefile.mk b/win32/makefile.mk index 9e59de7..0fb6734 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -13,7 +13,16 @@ # 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.gcc + +# 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 @@ -23,12 +32,13 @@ INST_TOP *= $(INST_DRV)\perl5004.5x # uncomment one #CCTYPE *= MSVC20 #CCTYPE *= MSVC -CCTYPE *= BORLAND -#CCTYPE *= GCC +#CCTYPE *= BORLAND +CCTYPE *= GCC # # uncomment next line if you want to use the perl object -OBJECT *= -DPERL_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) @@ -36,26 +46,30 @@ OBJECT *= -DPERL_OBJECT # # if you have the source for des_fcrypt(), uncomment this and make sure the -# file exists (see README.win32) +# 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 +# #CCHOME *= f:\msdev\vc -CCHOME *= C:\bc5 -#CCHOME *= D:\packages\mingw32 +#CCHOME *= C:\bc5 +CCHOME *= C:\mingw32 CCINCDIR *= $(CCHOME)\include CCLIBDIR *= $(CCHOME)\lib @@ -114,7 +128,7 @@ AUTODIR = ..\lib\auto CC = bcc32 LINK32 = tlink32 -LIB32 = tlib +LIB32 = tlib /P128 IMPLIB = implib -c # @@ -122,7 +136,7 @@ IMPLIB = implib -c # RUNTIME = -D_RTLDLL INCLUDES = -I.\include -I. -I.. -I$(CCINCDIR) -#PCHFLAGS = -H -H$(INTDIR)\bcmoduls.pch +#PCHFLAGS = -H -Hc -H=c:\temp\bcmoduls.pch DEFINES = -DWIN32 $(BUILDOPT) $(CRYPT_FLAG) LOCDEFS = -DPERLDLL -DPERL_CORE SUBSYS = console @@ -135,7 +149,7 @@ LIBFILES = $(CRYPT_LIB) import32.lib $(LIBC) odbc32.lib odbccp32.lib OPTIMIZE = -v $(RUNTIME) -DDEBUGGING LINK_DBG = -v .ELSE -OPTIMIZE = -5 -O2 $(RUNTIME) +OPTIMIZE = -O2 $(RUNTIME) LINK_DBG = .ENDIF @@ -144,15 +158,17 @@ CFLAGS = -w -d -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) \ LINK_FLAGS = $(LINK_DBG) -L$(CCLIBDIR) OBJOUT_FLAG = -o EXEOUT_FLAG = -e +LIBOUT_FLAG = .ELIF "$(CCTYPE)" == "GCC" -CC = gcc -pipe -LINK32 = gcc -pipe -LIB32 = ar +CC = gcc +LINK32 = gcc +LIB32 = ar rc IMPLIB = dlltool o = .o +a = .a # # Options @@ -165,8 +181,8 @@ SUBSYS = console CXX_FLAG = -xc++ LIBC = -lcrtdll -LIBFILES = $(CRYPT_LIB) -ladvapi32 -luser32 -lwsock32 -lmingw32 -lgcc \ - -lmoldname $(LIBC) -lkernel32 +LIBFILES = $(CRYPT_LIB) -ladvapi32 -luser32 -lnetapi32 -lwsock32 -lmingw32 \ + -lgcc -lmoldname $(LIBC) -lkernel32 .IF "$(CFG)" == "Debug" OPTIMIZE = -g -O2 $(RUNTIME) -DDEBUGGING @@ -180,6 +196,7 @@ CFLAGS = $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE) LINK_FLAGS = $(LINK_DBG) -L$(CCLIBDIR) OBJOUT_FLAG = -o EXEOUT_FLAG = -o +LIBOUT_FLAG = .ELSE @@ -190,17 +207,10 @@ LIB32 = $(LINK32) -lib # # Options # -.IF "$(OBJECT)" == "-DPERL_OBJECT" -RUNTIME = -MT -# XXX building with -MD fails many tests, but cannot investigate -# because building with debug crashes compiler :-( GSAR )-: -#RUNTIME = -MD -.ELSE -RUNTIME = -MD -.ENDIF -INCLUDES = -I.\include -I. -I.. -#PCHFLAGS = -Fp$(INTDIR)\vcmoduls.pch -YX +RUNTIME = -MD +INCLUDES = -I.\include -I. -I.. +#PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX DEFINES = -DWIN32 -D_CONSOLE $(BUILDOPT) $(CRYPT_FLAG) LOCDEFS = -DPERLDLL -DPERL_CORE SUBSYS = console @@ -216,7 +226,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 @@ -239,6 +249,7 @@ CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \ LINK_FLAGS = -nologo $(LINK_DBG) -machine:$(PROCESSOR_ARCHITECTURE) OBJOUT_FLAG = -Fo EXEOUT_FLAG = -Fe +LIBOUT_FLAG = /out: .ENDIF @@ -252,6 +263,7 @@ CFLAGS_O = $(CFLAGS) $(OBJECT) ############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ############## o *= .obj +a *= .lib LKPRE = INPUT ( LKPOST = ) @@ -260,7 +272,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)$@ $< @@ -274,15 +286,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 @@ -292,14 +305,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 @@ -320,6 +325,7 @@ CFGH_TMPL = config_H.bc CFGSH_TMPL = config.gc CFGH_TMPL = config_H.gc +PERLIMPLIB *= ..\libperl$(a) .ELSE @@ -329,16 +335,29 @@ PERL95EXE = ..\perl95.exe .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 +# # filenames given to xsubpp must have forward slashes (since it puts # full pathnames in #line strings) XSUBPP = ..\$(MINIPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \ -C++ -prototypes -CORE_SRC = \ +MICROCORE_SRC = \ ..\av.c \ ..\byterun.c \ ..\deb.c \ @@ -366,22 +385,24 @@ CORE_SRC = \ ..\universal.c \ ..\util.c -CORE_SRC += $(CRYPT_SRC) +.IF "$(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 = \ .\win32.c \ .\win32sck.c -.IF "$(USE_THREADS)" == "define" || "$(OBJECT)" == "" -WIN32_SRC += .\win32thread.c +.IF "$(USE_THREADS)" == "define" +WIN32_SRC += .\win32thread.c .ENDIF PERL95_SRC = \ @@ -389,6 +410,10 @@ PERL95_SRC = \ win32mt.c \ win32sckmt.c +.IF "$(CRYPT_SRC)" != "" +PERL95_SRC += ..\$(CRYPT_SRC) +.ENDIF + DLL_SRC = $(DYNALOADER).c @@ -403,7 +428,7 @@ X2P_SRC = \ ..\x2p\util.c \ ..\x2p\walk.c -CORE_H = \ +CORE_NOCFG_H = \ ..\av.h \ ..\byterun.h \ ..\bytecode.h \ @@ -433,7 +458,6 @@ CORE_H = \ ..\unixish.h \ ..\util.h \ ..\XSUB.h \ - .\config.h \ ..\EXTERN.h \ ..\perlvars.h \ ..\intrpvar.h \ @@ -443,12 +467,15 @@ 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) perlio$(o) 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)) DynaLoadmt$(o) +PERL95_OBJ = $(PERL95_SRC:db:+$(o)) DLL_OBJ = $(DLL_SRC:db:+$(o)) X2P_OBJ = $(X2P_SRC:db:+$(o)) @@ -459,9 +486,10 @@ 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 attrs Thread B +DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B STATIC_EXT = DynaLoader DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader @@ -470,6 +498,7 @@ FCNTL = $(EXTDIR)\Fcntl\Fcntl OPCODE = $(EXTDIR)\Opcode\Opcode SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File IO = $(EXTDIR)\IO\IO +POSIX = $(EXTDIR)\POSIX\POSIX ATTRS = $(EXTDIR)\attrs\attrs THREAD = $(EXTDIR)\Thread\Thread B = $(EXTDIR)\B\B @@ -479,6 +508,7 @@ FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll OPCODE_DLL = $(AUTODIR)\Opcode\Opcode.dll SDBM_FILE_DLL = $(AUTODIR)\SDBM_File\SDBM_File.dll IO_DLL = $(AUTODIR)\IO\IO.dll +POSIX_DLL = $(AUTODIR)\POSIX\POSIX.dll ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll THREAD_DLL = $(AUTODIR)\Thread\Thread.dll B_DLL = $(AUTODIR)\B\B.dll @@ -489,6 +519,7 @@ EXTENSION_C = \ $(OPCODE).c \ $(SDBM_FILE).c \ $(IO).c \ + $(POSIX).c \ $(ATTRS).c \ $(THREAD).c \ $(B).c @@ -499,9 +530,14 @@ EXTENSION_DLL = \ $(OPCODE_DLL) \ $(SDBM_FILE_DLL)\ $(IO_DLL) \ - $(ATTRS_DLL) -# $(THREAD_DLL) \ -# $(B_DLL) + $(POSIX_DLL) \ + $(ATTRS_DLL) \ + $(B_DLL) + +.IF "$(OBJECT)" == "" +EXTENSION_DLL += \ + $(THREAD_DLL) +.ENDIF POD2HTML = $(PODDIR)\pod2html POD2MAN = $(PODDIR)\pod2man @@ -511,6 +547,7 @@ POD2TEXT = $(PODDIR)\pod2text CFG_VARS = \ "INST_DRV=$(INST_DRV)" \ "INST_TOP=$(INST_TOP)" \ + "INST_VER=$(INST_VER)" \ "archname=$(ARCHNAME)" \ "cc=$(CC)" \ "ccflags=$(OPTIMIZE) $(DEFINES) $(OBJECT)" \ @@ -519,10 +556,13 @@ CFG_VARS = \ "d_mymalloc=$(PERL_MALLOC)" \ "libs=$(LIBFILES:f)" \ "incpath=$(CCINCDIR)" \ - "libperl=$(PERLIMPLIB)" \ + "libperl=$(PERLIMPLIB:f)" \ "libpth=$(strip $(CCLIBDIR) $(LIBFILES:d))" \ "libc=$(LIBC)" \ "make=dmake" \ + "_o=$(o)" \ + "_a=$(a)" \ + "lib_ext=$(a)" \ "static_ext=$(STATIC_EXT)" \ "dynamic_ext=$(DYNAMIC_EXT)" \ "usethreads=$(USE_THREADS)" \ @@ -533,8 +573,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 @@ -557,7 +597,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 @@ -573,7 +613,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 @@ -582,7 +622,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" @@ -599,15 +640,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) @@ -680,13 +724,13 @@ perlmain.c : runperl.c copy runperl.c perlmain.c perlmain$(o) : perlmain.c - $(CC) $(CFLAGS_O) -UPERLDLL $(EXEOUT_FLAG)$@ -c perlmain.c + $(CC) $(CFLAGS_O) -UPERLDLL $(OBJOUT_FLAG)$@ -c perlmain.c $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) .IF "$(CCTYPE)" == "BORLAND" $(LINK32) -Tpe -ap $(LINK_FLAGS) \ - @$(mktmp c0x32$(o) $(PERLEXE_OBJ)\n \ - $@,\n \ + @$(mktmp c0x32$(o) $(PERLEXE_OBJ:s,\,\\)\n \ + $(@:s,\,\\),\n \ $(PERLIMPLIB) $(LIBFILES)\n) .ELIF "$(CCTYPE)" == "GCC" $(LINK32) -o $@ $(LINK_FLAGS) \ @@ -728,10 +772,35 @@ $(PERL95EXE): $(PERLDLL) $(CONFIGPM) $(PERL95_OBJ) $(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM) if not exist $(AUTODIR) mkdir $(AUTODIR) + 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 @@ -750,6 +819,11 @@ $(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl cd $(EXTDIR)\$(*B) && $(MAKE) +$(POSIX_DLL): $(PERLEXE) $(POSIX).xs + cd $(EXTDIR)\$(*B) && \ + ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl + cd $(EXTDIR)\$(*B) && $(MAKE) + $(IO_DLL): $(PERLEXE) $(IO).xs cd $(EXTDIR)\$(*B) && \ ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl @@ -785,7 +859,7 @@ doc: $(PERLEXE) --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse utils: $(PERLEXE) - cd ..\utils && $(MAKE) PERL=$(PERLEXE) + cd ..\utils && $(MAKE) PERL=$(MINIPERL) cd ..\utils && $(PERLEXE) ..\win32\$(PL2BAT) h2ph splain perlbug \ pl2pm c2ph h2xs perldoc pstruct $(XCOPY) ..\utils\*.bat bin\*.* @@ -794,31 +868,47 @@ utils: $(PERLEXE) 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) + -del /f $(EXTENSION_C) $(DYNALOADER).c + -del /f $(EXTDIR)\DynaLoader\dl_win32.xs + -del /f $(LIBDIR)\.exists $(LIBDIR)\attrs.pm $(LIBDIR)\DynaLoader.pm + -del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm + -del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm $(LIBDIR)\Thread.pm + -del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm + -del /f $(LIBDIR)\B.pm $(LIBDIR)\O.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 + -cd ..\x2p && del /f find2perl s2p *.bat -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new - -del /f ..\lib\Config.pm + -del /f $(CONFIGPM) .IF "$(PERL95EXE)" != "" -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) - -rmdir /s /q $(MINIDIR) || rmdir /s $(MINIDIR) -install : all doc utils +install : all installbare installutils installhtml + +installbare : $(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) ..\pod\*.bat $(INST_SCRIPT)\*.* + +installhtml : doc $(RCOPY) html\*.* $(INST_HTML)\*.* inst_lib : $(CONFIGPM) @@ -859,17 +949,18 @@ clean : -@erase $(MINIPERL) -@erase perlglob$(o) -@erase perlmain$(o) + -@erase PerlCAPI.cpp -@erase config.w32 -@erase /f config.h -@erase $(GLOBEXE) -@erase $(PERLEXE) -@erase $(PERLDLL) -@erase $(CORE_OBJ) - -rmdir /s /q "$(MINIDIR)" + -rmdir /s /q $(MINIDIR) || rmdir /s $(MINIDIR) -@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