This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlhacktips: typo
[perl5.git] / win32 / Makefile.ce
index 9fe5d32..70f7ef0 100644 (file)
@@ -1,10 +1,12 @@
+#
 # perl makefile for wince
+# During the cross-compilation, it first uses Makefile file to build
+# miniperl on HOST and then build required platform
 #
-# Time-stamp: <26/10/01 15:10:06 keuchel@keuchelnt>
 
 SRCDIR     = ..
 PV         = 59
-INST_VER   = 5.9.4
+INST_VER   = 5.15.5
 
 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
 INSTALL_ROOT=/netzwerk/sprache/perl
@@ -340,8 +342,6 @@ STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
 CEDEFS    = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \
             $(MCFLAGS) -D PERL
 
-#CEDEFS    = $(CEDEFS) -DDEBUGGING_OPS
-
 CECFLAGS  = $(CEDEFS)
 
 !if "$(CFG)" == "DEBUG"
@@ -380,7 +380,7 @@ LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH)
 # Additional compiler flags can be specified here.
 #
 
-BUILDOPT       = $(BUILDOPT) $(CECFLAGS)
+BUILDOPT       = $(BUILDOPT) $(CECFLAGS) -DUSE_CROSS_COMPILE
 
 
 !IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
@@ -535,10 +535,11 @@ CONFIGPM  = ..\xlib\$(CROSS_NAME)\Config.pm
 MINIMOD                = ..\lib\ExtUtils\Miniperl.pm
 
 # Unicode data files generated by mktables
-UNIDATAFILES    = ..\lib\unicore\Canonical.pl ..\lib\unicore\Exact.pl \
-                  ..\lib\unicore\Properties ..\lib\unicore\Decomposition.pl \
+UNIDATAFILES    = ..\lib\unicore\Decomposition.pl \
                   ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
-                  ..\lib\unicore\PVA.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
@@ -569,7 +570,9 @@ MICROCORE_SRC       =               \
                ..\dump.c       \
                ..\globals.c    \
                ..\gv.c         \
+               ..\mro.c        \
                ..\hv.c         \
+               ..\keywords.c   \
                ..\mg.c         \
                ..\op.c         \
                ..\pad.c        \
@@ -592,8 +595,7 @@ MICROCORE_SRC       =               \
                ..\toke.c       \
                ..\universal.c  \
                ..\utf8.c       \
-               ..\util.c       \
-               ..\xsutils.c
+               ..\util.c
 
 EXTRACORE_SRC  = $(EXTRACORE_SRC) perllib.c
 
@@ -648,37 +650,12 @@ CORE_NOCFG_H      =               \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
-               ..\thrdvar.h    \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \
                .\win32.h
 
-CORE_H         = $(CORE_NOCFG_H) .\config.h
-
-MICROCORE_OBJ  = $(MICROCORE_SRC:.c=.obj)
-CORE_OBJ       = $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.obj)
-WIN32_OBJ      = $(WIN32_SRC:.c=.obj)
-#WIN32_OBJ     = $(WIN32_OBJ:.\=.\$(DLLDIR)\)
-MINICORE_OBJ   = $(MICROCORE_OBJ:..\=.\$(DLLDIR)\)     \
-                 $(MINIDIR)\miniperlmain$(o)   \
-                 $(MINIDIR)\perlio$(o)
-MINIWIN32_OBJ  = $(WIN32_OBJ:.\=.\$(DLLDIR)\)
-MINI_OBJ       = $(MINICORE_OBJ) $(MINIWIN32_OBJ)
-DLL_OBJ                = $(DLL_SRC:.c=.obj)
-X2P_OBJ                = $(X2P_SRC:.c=.obj)
-
-PERLDLL_OBJ    = $(CORE_OBJ)
-PERLEXE_OBJ    = perlmain$(o)
-
-PERLDLL_OBJ    = $(PERLDLL_OBJ) $(WIN32_OBJ) $(DLL_OBJ)
-#PERLEXE_OBJ   = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ)
-
-!IF "$(USE_SETARGV)" != ""
-SETARGV_OBJ    = setargv$(o)
-!ENDIF
-
-DYNAMIC_EXT    = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
+DYNAMIC_EXT    = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \
                Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
                Sys/Hostname
 
@@ -692,11 +669,6 @@ ERRNO_PM   = $(LIBDIR)\Errno.pm
 EXTENSION_PM   =               \
                $(ERRNO_PM)
 
-POD2HTML       = $(PODDIR)\pod2html
-POD2MAN                = $(PODDIR)\pod2man
-POD2LATEX      = $(PODDIR)\pod2latex
-POD2TEXT       = $(PODDIR)\pod2text
-
 CFG_VARS = \
  "INST_DRV=$(INST_DRV)" \
  "INST_TOP=$(INST_TOP)" \
@@ -728,24 +700,24 @@ CFG_VARS = \
 # Top targets
 #
 
-all: hostminiperl $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) Extensions
+all: hostminiperl $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) MakePPPort Extensions
 
-$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
+$(DYNALOADER)$(o) : $(DYNALOADER).c xconfig.h $(EXTDIR)\DynaLoader\dlutils.c
 
-$(CONFIGPM): .\xconfig.h ..\config.sh ..\minimod.pl
+$(CONFIGPM) : $(HPERL) ..\config.sh .\xconfig.h config_h.PL ..\minimod.pl
        cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
        -mkdir $(XCOREDIR)
        $(XCOPY) ..\*.h $(XCOREDIR)\*.*
        $(XCOPY) ..\*.inc $(XCOREDIR)\*.*
        $(XCOPY) *.h $(XCOREDIR)\*.*
-       $(XCOPY) xconfig.h $(XCOREDIR)\config.h
        $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
        $(RCOPY) include $(XCOREDIR)\*.*
-       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)" "CONFIG_H=xconfig.h"
 
 .\xconfig.h:
        -del /f xconfig.h
-       copy config_H.ce xconfig.h
+       -mkdir $(XCOREDIR)
+       -$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)" "CONFIG_H=xconfig.h"
+       $(XCOPY) xconfig.h $(XCOREDIR)\config.h
 
 ..\config.sh: config.ce config_sh.PL
        $(HPERL) -I..\lib -I. config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
@@ -753,24 +725,27 @@ $(CONFIGPM): .\xconfig.h ..\config.sh ..\minimod.pl
 $(MINIMOD) : ..\minimod.pl
        cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
 
-perlmain.c : runperl.c
-       $(COPY) runperl.c perlmain.c
-
 $(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
        if not exist $(AUTODIR) mkdir $(AUTODIR)
        cd $(EXTDIR)\$(*B)
        $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) $(*B)_pm.PL
        $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) XSLoader_pm.PL
-       cd ..\..\win
+       cd ..\..\win32
        $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
        $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
        cd $(EXTDIR)\$(*B)
        $(XSUBPP) dl_win32.xs > $(*B).c
-       cd ..\..\win
+       cd ..\..\win32
 
 $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
        $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
 
+MakePPPort: $(MINIPERL) $(CONFIGPM)
+       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ..\mkppport
+
+MakePPPort_clean:
+       -if exist $(HPERL) $(HPERL) -I..\lib ..\mkppport --clean
+
 #----------------------------------------------------------------------------------
 NOT_COMPILE_EXT =
 !if "$(MACHINE)" == "wince-sh3-palm-wce211"
@@ -780,12 +755,12 @@ NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap
 NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap
 !endif
 
-Extensions: .\buildext.pl $(PERLDEP) $(CONFIGPM)
-       $(HPERL) -I..\lib -I. -MCross=$(CROSS_NAME) .\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \
+Extensions: ..\make_ext.pl $(PERLDEP) $(CONFIGPM)
+       $(HPERL) -I..\lib -I. -MCross=$(CROSS_NAME) ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --all \
        !POSIX $(NOT_COMPILE_EXT)
 
 Extensions_clean:
-       -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean
+       -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --all --target=clean
 
 #----------------------------------------------------------------------------------
 
@@ -799,7 +774,8 @@ clean:
        -rm -f $(MACHINE)/*.dll
        -rm -f $(MACHINE)/*.lib
        -rm -f ../config.sh ../lib/Config.pm
-       -rm -f config.h perl.res
+       -rm -f config.h xconfig.h perl.res
+       -rm -f ../t/test_state
 
 XDLLOBJS = \
 $(DLLDIR)\av.obj \
@@ -809,6 +785,7 @@ $(DLLDIR)\doop.obj \
 $(DLLDIR)\dump.obj \
 $(DLLDIR)\globals.obj \
 $(DLLDIR)\gv.obj \
+$(DLLDIR)\mro.obj \
 $(DLLDIR)\hv.obj \
 $(DLLDIR)\locale.obj \
 $(DLLDIR)\mathoms.obj \
@@ -841,7 +818,6 @@ $(DLLDIR)\win32thread.obj \
 $(DLLDIR)\wince.obj \
 $(DLLDIR)\win32io.obj \
 $(DLLDIR)\wincesck.obj \
-$(DLLDIR)\xsutils.obj \
 $(DLLDIR)\perllib.obj \
 $(DLLDIR)\DynaLoader.obj
 !IF "$(PERL_MALLOC)" == "define"
@@ -859,7 +835,7 @@ XDLLOBJS    = $(XDLLOBJS) $(DLLDIR)\fcrypt.obj
 $(DLLDIR)\toke.obj:
     $(CC) -c $(CFLAGS_O) -QMOb9000 -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ ..\toke.c
 
-{$(SRCDIR)/win}.c{$(DLLDIR)}.obj:
+{$(SRCDIR)/win32}.c{$(DLLDIR)}.obj:
     $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
 
 # -DPERL_IMPLICIT_SYS needs C++ for perllib.c
@@ -870,10 +846,10 @@ $(DLLDIR)\perllib$(o)     : perllib.c .\perlhost.h .\vdir.h .\vmem.h
        rem (frustrated) mv perllib.obj $(DLLDIR)
 !ENDIF
 
-perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
-       $(HPERL) -MCross -I..\lib buildext.pl --create-perllibst-h
-       $(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
-           CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) > perldll.def
+perldll.def : $(HPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl
+       $(HPERL) -MCross -I..\lib create_perllibst_h.pl
+       $(HPERL) -MCross -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
+           CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) TARG_DIR=..\ > perldll.def
 
 $(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
        $(LINK32) -dll -def:perldll.def -out:$@ \
@@ -889,7 +865,7 @@ $(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
           $(EXTDIR)\DynaLoader\DynaLoader.c
 
 XPERLEXEOBJS = \
-$(MACHINE)\perlmain.obj
+$(MACHINE)\perlmaince.obj
 
 $(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
        $(XCOPY) $(MACHINE)\*.lib $(XCOREDIR)
@@ -899,8 +875,8 @@ $(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
             -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
             $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)
 
-$(MACHINE)\perlmain.obj : perlmain.c
-       $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmain.c
+$(MACHINE)\perlmaince.obj : perlmaince.c
+       $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmaince.c
 
 iodll:     $(IO_DLL)
 socketdll: $(SOCKET_DLL)
@@ -939,20 +915,17 @@ install: all
 
 $(UNIDATAFILES) : $(HPERL) $(CONFIGPM) ..\lib\unicore\mktables
        cd ..\lib\unicore && \
-       $(HPERL) -I.. mktables
+       $(HPERL) -I.. mktables -P ..\..\pod -maketest -makelist -p
 
 dist: all
-       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
+       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
 
 zipdist: all
-       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
-       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
+       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
+       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
 
 zip:
-       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
-
-perl.ico:
-       $(HPERL) makeico.pl perl.ico
+       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
 
 hostminiperl: ..\miniperl.exe