cross-compilation for linux
[p5sagit/p5-mst-13.2.git] / win32 / Makefile.ce
index 007f559..7503656 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.9.5
 
 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
 INSTALL_ROOT=/netzwerk/sprache/perl
@@ -380,7 +382,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)" == ""
@@ -569,6 +571,7 @@ MICROCORE_SRC       =               \
                ..\dump.c       \
                ..\globals.c    \
                ..\gv.c         \
+               ..\mro.c        \
                ..\hv.c         \
                ..\mg.c         \
                ..\op.c         \
@@ -648,35 +651,12 @@ CORE_NOCFG_H      =               \
                ..\EXTERN.h     \
                ..\perlvars.h   \
                ..\intrpvar.h   \
-               ..\thrdvar.h    \
                .\include\dirent.h      \
                .\include\netdb.h       \
                .\include\sys\socket.h  \
                .\win32.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 attrs B re \
                Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
                Sys/Hostname
 
@@ -726,11 +706,11 @@ CFG_VARS = \
 # Top targets
 #
 
-all: hostminiperl $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) Extensions
+all: hostminiperl $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) MakePPPort Extensions
 
 $(DYNALOADER)$(o) : $(DYNALOADER).c xconfig.h $(EXTDIR)\DynaLoader\dlutils.c
 
-$(CONFIGPM) : $(HPERL) ..\config.sh config_h.PL ..\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)\*.*
@@ -738,12 +718,12 @@ $(CONFIGPM) : $(HPERL) ..\config.sh config_h.PL ..\minimod.pl
        $(XCOPY) *.h $(XCOREDIR)\*.*
        $(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"
-       $(XCOPY) xconfig.h $(XCOREDIR)\config.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
@@ -751,24 +731,27 @@ $(CONFIGPM) : $(HPERL) ..\config.sh config_h.PL ..\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"
@@ -807,6 +790,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 \
@@ -857,7 +841,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
@@ -887,7 +871,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)
@@ -897,8 +881,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)
@@ -950,7 +934,7 @@ zip:
        $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
 
 perl.ico:
-       $(HPERL) makeico.pl perl.ico
+       $(HPERL) -I..\lib ..\uupacktool.pl -u perlexe.ico.packd perl.ico
 
 hostminiperl: ..\miniperl.exe