# perl makefile for wince
#
-# Time-stamp: <01/08/01 21:11:35 keuchel@w2k>
+# Time-stamp: <26/10/01 15:10:06 keuchel@keuchelnt>
SRCDIR = ..
-PV = 57
-INST_VER = 5.7.2
+PV = 58
+INST_VER = 5.8.0
+
+# INSTALL_ROOT specifies a path where this perl will be installed on CE device
+INSTALL_ROOT=/netzwerk/sprache/perl
+INST_TOP=$(INSTALL_ROOT)
+INST_VER=
+
+# PERLCEDIR shoud be set to current directory
PERLCEDIR = H:\src\wince\perl\wince
-WCEROOT = N:\Windows CE Tools
-#WCEROOT = D:\Windows CE Tools
-NTPERL = N:\Programme\perl\bin\perl.exe
-#NTPERL = D:\Programme\ActiveState\perl-5.6\bin\Perl.exe
-CEPATH = N:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN
-#CEPATH = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN
-CELIBDLLDIR = h:\src\wince\celib-palm
+
+# WCEROOT is a directory where Windows CE Tools was installed
+WCEROOT = D:\Windows CE Tools
+
+# HPERL stands for host perl, which is perl on local desktop machine
+# which is usually ..\miniperl.exe
+#HPERL = N:\Programme\perl\bin\perl.exe
+HPERL = $(MAKEDIR)\..\miniperl.exe
+
+CEPATH = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN
+CELIBDLLDIR = h:\src\wince\celib-palm-3.0
CECONSOLEDIR = h:\src\wince\w32console
+
+# specify following options to build perl on local machine, by MSVC
+MSVCDIR = D:\MSVStudio\VC98
+CCHOME = $(MSVCDIR)
+CCINCDIR = $(CCHOME)\include
+CCLIBDIR = $(CCHOME)\lib
+
# Only for WIN2000
-YES = /y
+#YES = /y
COPY = copy $(YES)
XCOPY = xcopy $(YES) /f /r /i /d
RCOPY = xcopy $(YES) /f /r /i /e /d
+
+# cecopy program. Make shure it is in your path, as well as cemkdir, cedel
+CECOPY = cecopy
+
+#
+# Comment out next assign to disable perl's I/O subsystem and use compiler's
+# stdio for IO - depending on your compiler vendor and run time library you may
+# then get a number of fails from make test i.e. bugs - complain to them not us ;-).
+# You will also be unable to take full advantage of perl5.8's support for multiple
+# encodings and may see lower IO performance. You have been warned.
+USE_PERLIO = define
+
+
NOOP = @echo
# keep this untouched!
NULL =
+
CFG=DEBUG
#CFG=RELEASE
# common section
CEDEFS = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \
- $(MCFLAGS)
+ $(MCFLAGS) -D PERL
+
#CEDEFS = $(CEDEFS) -DDEBUGGING_OPS
CECFLAGS = $(CEDEFS)
CRYPT_FLAG = -DHAVE_DES_FCRYPT
!ENDIF
-!IF "$(USE_OBJECT)" == "define"
-PERL_MALLOC = undef
-USE_5005THREADS = undef
-USE_MULTI = undef
-USE_IMP_SYS = define
-!ENDIF
-
!IF "$(PERL_MALLOC)" == ""
PERL_MALLOC = undef
!ENDIF
USE_MULTI = undef
!ENDIF
-!IF "$(USE_OBJECT)" == ""
-USE_OBJECT = undef
-!ENDIF
-
!IF "$(USE_ITHREADS)" == ""
USE_ITHREADS = undef
!ENDIF
USE_IMP_SYS = undef
!ENDIF
+!IF "$(USE_PERLIO)" == ""
+USE_PERLIO = undef
+!ENDIF
+
!IF "$(USE_PERLCRT)" == ""
USE_PERLCRT = undef
!ENDIF
-!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef"
+!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef"
USE_MULTI = define
!ENDIF
-!IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef"
+!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
USE_MULTI = define
USE_5005THREADS = undef
!ENDIF
-!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef"
+!IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef"
BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
!ENDIF
BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS
!ENDIF
+!IF "$(USE_PERLIO)" == "define"
+BUILDOPT = $(BUILDOPT) -DUSE_PERLIO
+!ENDIF
+
+!IF "$(CROSS_NAME)" == ""
+CROSS_NAME = wince
+!ENDIF
+
# new option - automatically defined in perl.h...
#BUILDOPT = $(BUILDOPT) -DUSE_ENVIRON_ARRAY
PROCESSOR_ARCHITECTURE = $(TARGETCPU)
ARCHNAME = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE)
-# unused yet
ARCHDIR = ..\lib\$(ARCHNAME)
COREDIR = ..\lib\CORE
+XCOREDIR = ..\xlib\$(CROSS_NAME)\CORE
AUTODIR = ..\lib\auto
LIBDIR = ..\lib
EXTDIR = ..\ext
PERLEXE_RES = perl.res
PERLDLL_RES =
-!IF "$(USE_OBJECT)" == "define"
-OPTIMIZE = $(OPTIMIZE) $(CXX_FLAG)
-BUILDOPT = $(BUILDOPT) -DPERL_OBJECT
-!ENDIF
-
!if "$(CFG)" == "RELEASE"
CELIB = celib.lib
!endif
$(RSC) -i.. $<
# This must be relative to ../lib/CORE, else the ext dll build fails...
-PERLIMPLIB_EXP = ..\..\wince\$(MACHINE)\perl$(PV).lib
+PERLIMPLIB_EXP = ..\..\..\xlib\$(CROSS_NAME)\CORE\perl$(PV).lib
PERLIMPLIB = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib
PERLDLL = $(MACHINE)\perl$(PV).dll
DLLDIR = $(MACHINE)\dll
PERLEXE = $(MACHINE)\perl.exe
-CONFIGPM = ..\lib\Config.pm
+CONFIGPM = ..\xlib\$(CROSS_NAME)\Config.pm
MINIMOD = ..\lib\ExtUtils\Miniperl.pm
+# 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
+
MAKE = nmake -nologo
CFGSH_TMPL = config.ce
#
# filenames given to xsubpp must have forward slashes (since it puts
# full pathnames in #line strings)
-XSUBPP = $(NTPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \
+XSUBPP = $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \
-C++ -prototypes
MICROCORE_SRC = \
..\pp.c \
..\pp_ctl.c \
..\pp_hot.c \
+ ..\pp_pack.c \
+ ..\pp_sort.c \
..\pp_sys.c \
+ ..\reentr.c \
..\regcomp.c \
..\regexec.c \
..\run.c \
..\scope.c \
- ..\sharedsv.c \
..\sv.c \
..\taint.c \
..\toke.c \
EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
!ENDIF
-!IF "$(USE_OBJECT)" != "define"
-EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c
-!ENDIF
+EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c .\win32io.c
WIN32_SRC = \
.\wince.c \
..\proto.h \
..\regexp.h \
..\scope.h \
- ..\sharedsv.h \
..\sv.h \
..\thread.h \
..\unixish.h \
"INST_VER=$(INST_VER)" \
"INST_ARCH=$(INST_ARCH)" \
"archname=$(ARCHNAME)" \
- "cc=$(CC)" \
+ "CC=$(CC)" \
"ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
"cf_by=Rainer Keuchel" \
"cf_email=coyxc@rainer-keuchel.de" \
"useithreads=$(USE_ITHREADS)" \
"usethreads=$(USE_5005THREADS)" \
"usemultiplicity=$(USE_MULTI)" \
+ "useperlio=$(USE_PERLIO)" \
"LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
"optimize=$(OPTIMIZE)"
# Top targets
#
-all: $(MINIMOD) $(CONFIGPM) $(PERLEXE)
+all: hostminiperl $(MINIMOD) $(CONFIGPM) $(PERLEXE) Extensions
$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
-$(CONFIGPM): config.h ..\config.sh ..\minimod.pl
- cd .. && $(NTPERL) configpm
- -mkdir $(COREDIR)
- $(XCOPY) ..\*.h $(COREDIR)\*.*
- $(XCOPY) *.h $(COREDIR)\*.*
+$(CONFIGPM): .\config.h ..\config.sh ..\minimod.pl
+ cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
+ -mkdir $(XCOREDIR)
+ $(XCOPY) ..\*.h $(XCOREDIR)\*.*
+ $(XCOPY) *.h $(XCOREDIR)\*.*
$(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
- $(RCOPY) include $(COREDIR)\*.*
- $(NTPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)"
+ $(RCOPY) include $(XCOREDIR)\*.*
+ -$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
+ if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
-..\config.sh config.h: config.ce config_sh.PL
- $(NTPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
+.\config.h:
+ -del /f config.h
+ copy config_H.ce config.h
+
+..\config.sh: config.ce config_sh.PL
+ $(HPERL) -I..\lib -I..\win32 config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
$(MINIMOD) : ..\minimod.pl
- cd .. && $(NTPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
+ 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)
- $(NTPERL) -I..\..\lib $(*B)_pm.PL
- $(NTPERL) -I..\..\lib XSLoader_pm.PL
+ $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) $(*B)_pm.PL
+ $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) XSLoader_pm.PL
cd ..\..\wince
$(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
$(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
$(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
+#----------------------------------------------------------------------------------
+Extensions: ..\win32\buildext.pl $(PERLDEP) $(CONFIGPM)
+ $(HPERL) -I..\lib -I..\win32 -MCross=$(CROSS_NAME) ..\win32\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \
+ !File/Glob !POSIX !Time/HiRes
+
+Extensions_clean:
+ -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean
+
+#----------------------------------------------------------------------------------
+
$(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs
cd $(EXTDIR)\Data\$(*B)
- $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\..\wince
$(DPROF_DLL): $(PERLEXE) $(DPROF).xs
cd $(EXTDIR)\Devel\$(*B)
- $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\..\wince
$(GLOB_DLL): $(PERLEXE) $(GLOB).xs
cd $(EXTDIR)\File\$(*B)
- $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\..\wince
$(PEEK_DLL): $(PERLEXE) $(PEEK).xs
cd $(EXTDIR)\Devel\$(*B)
- $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\..\wince
$(RE_DLL): $(PERLEXE) $(RE).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(B_DLL): $(PERLEXE) $(B).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(THREAD_DLL): $(PERLEXE) $(THREAD).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(POSIX_DLL): $(PERLEXE) $(POSIX).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(IO_DLL): $(PERLEXE) $(IO).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs
cd $(EXTDIR)\Sys\$(*B)
- $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\..\wince
$(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
$(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL
cd $(EXTDIR)\$(*B)
- $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
+ $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
$(MAKE)
cd ..\..\wince
-$(PERLEXE_RES): perl.rc
+$(PERLEXE_RES): perl.rc perl.ico
rc $(RCDEFS) perl.rc
clean:
-rm -f ../config.sh ../lib/Config.pm
-rm -f config.h perl.res
-!if "$(MACHINE)" == "wince-sh3-hpc"
+!IF "$(MACHINE)" == "wince-sh3-hpc"
+
install_perlexe: $(PERLEXE)
cedel /speicherkarte2/bin/perl.exe
- cecopy pc:../perl.exe ce:/speicherkarte2/bin
+ $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
install_perldll: $(PERLDLL)
cedel /speicherkarte2/bin/perl$(PV).dll
- cecopy pc:../perl$(PV).dll ce:/speicherkarte2/bin
+ $(CECOPY) pc:../perl$(PV).dll ce:/speicherkarte2/bin
install_perl: install_perlexe install_perldll
test_perl:
- cecopy pc:test.pl ce:/speicherkarte2/bin
+ $(CECOPY) pc:test.pl ce:/speicherkarte2/bin
ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl
-# ceexec /speicherkarte2/bin/perl.exe -V
install_lib: ../lib/Config.pm
- cecopy pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5
-!endif
+ $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
+
+!ELSEIF "$(MACHINE)" == "wince-arm-hpc"
-!if "$(MACHINE)" == "wince-arm-hpc"
install_perlexe: $(PERLEXE)
-cedel /speicherkarte/bin/perl.exe
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
install_perldll: $(PERLDLL)
-cedel /speicherkarte/bin/perl$(PV).dll
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
install_perl: install_perlexe install_perldll
test_perl:
- cecopy pc:test.pl ce:/speicherkarte/bin
+ $(CECOPY) pc:test.pl ce:/speicherkarte/bin
ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl
-# ceexec /speicherkarte2/bin/perl.exe -V
install_lib: ../lib/Config.pm
- cecopy pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5
-!endif
+ $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
+
+!ELSEIF "$(MACHINE)" == "wince-mips-hpc"
-!if "$(MACHINE)" == "wince-mips-hpc"
install_perlexe: $(PERLEXE)
- cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
install_perldll: $(PERLDLL)
- cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
install_perl: install_perlexe install_perldll
test_perl:
- cecopy pc:test.pl ce:/netzwerk/compaq/bin
- ceexec /netzwerk/compaq/bin/perl.exe /netzwerk/compaq/bin/test.pl
-# ceexec /netzwerk/compaq/bin/perl.exe -V
+ $(CECOPY) pc:test.pl ce:/netzwerk/compaq/bin
+ ceexec /netzwerk/compaq/bin/perl.exe $(INSTALL_ROOT)/test.pl
install_lib: ../lib/Config.pm
- cecopy pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5
-!endif
+ $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
+
+!ELSEIF "$(MACHINE)" == "wince-x86em-pocket"
-!if "$(MACHINE)" == "wince-x86em-pocket"
install_lib:
ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib
ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib
ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter
install_perlexe: $(PERLEXE)
- cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
install_perldll: $(PERLDLL)
- cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
install_perl: install_perlexe install_perldll
test_perl:
echo Not yet
-!endif
+!ENDIF
XDLLOBJS = \
$(DLLDIR)\pp_ctl.obj \
$(DLLDIR)\pp_hot.obj \
$(DLLDIR)\pp_pack.obj \
+$(DLLDIR)\pp_sort.obj \
$(DLLDIR)\pp_sys.obj \
+$(DLLDIR)\reentr.obj \
$(DLLDIR)\regcomp.obj \
$(DLLDIR)\regexec.obj \
$(DLLDIR)\run.obj \
$(DLLDIR)\scope.obj \
-$(DLLDIR)\sharedsv.obj \
$(DLLDIR)\sv.obj \
$(DLLDIR)\taint.obj \
$(DLLDIR)\toke.obj \
$(DLLDIR)\util.obj \
$(DLLDIR)\win32thread.obj \
$(DLLDIR)\wince.obj \
+$(DLLDIR)\win32io.obj \
$(DLLDIR)\wincesck.obj \
$(DLLDIR)\xsutils.obj \
$(DLLDIR)\perllib.obj \
{$(SRCDIR)/wince}.c{$(DLLDIR)}.obj:
$(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
+perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
+ $(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
+ CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) > perldll.def
+
$(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
$(LINK32) -dll -def:perldll.def -out:$@ \
$(SUBSYS) $(LDLIBPATH) \
$(MACHINE)\perlmain.obj
$(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
- $(LINK32) $(SUBSYS) $(LDLIBPATH) \
+ $(XCOPY) $(MACHINE)\*.lib $(XCOREDIR)
+ $(LINK32) $(SUBSYS) $(LDLIBPATH) \
-entry:wWinMainCRTStartup \
-out:$(MACHINE)\perl.exe \
-stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
!if "$(MACHINE)" == "wince-arm-hpc-wce300"
install: all
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
install_dlls: dlls
- cecopy pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll
-!endif
-
-!if "$(MACHINE)" == "wince-arm-hpc-wce211"
+ $(CECOPY) pc:../lib/auto/IO/io.dll ce:$(INSTALL_ROOT)/lib/auto/IO/io.dll
+!else
install: all
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
-!endif
-
-!if "$(MACHINE)" == "wince-mips-hpc-wce211"
-install:
- cecopy pc:$(MACHINE)/perl.exe ce:/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
+ -cemkdir "$(INSTALL_ROOT)"
+ -cemkdir "$(INSTALL_ROOT)\bin"
+ -cemkdir "$(INSTALL_ROOT)\lib"
+ $(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin"
+ $(CECOPY) "pc:$(MACHINE)/perl$(PV).dll" "ce:$(INSTALL_ROOT)/bin"
+ $(CECOPY) "pc:../xlib/$(CROSS_NAME)/Config.pm" "ce:$(INSTALL_ROOT)/lib"
!endif
-!if "$(MACHINE)" == "wince-mips-hpc-wce200"
-install:
- cecopy pc:$(MACHINE)/perl.exe ce:/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
-!endif
-
-!if "$(MACHINE)" == "wince-sh3-hpc-wce211"
-install:
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte2/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte2/bin
-!endif
+perl.ico:
+ $(HPERL) makeico.pl
+
+hostminiperl: ..\miniperl.exe
+
+..\miniperl.exe:
+ cd ../win32
+ set PATH=$(CCHOME)\bin;$(PATH)
+ $(MAKE) -f Makefile "CCHOME=$(MSVCDIR)" "CCINCDIR=$(CCHOME)\include" "CCLIBDIR=$(CCHOME)\lib" "INCLUDE=$(CCHOME)\include" "LIB=$(CCHOME)\lib" "LINK_FLAGS=" .\config.h ..\miniperl.exe
+ cd ../wince
+
+host-install:
+ perl -MConfig -MExtUtils::Install -we "install({'../lib/CORE', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#},1)"
+ perl -MConfig -MExtUtils::Install -we "install({'../xlib/$(CROSS_NAME)', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)#},1)"
+ perl -MConfig -MFile::Copy -we "copy qq#./$(MACHINE)/perl$(PV).lib#, qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#"
+ perl -MConfig -MFile::Copy -we "copy qq#../lib/Cross.pm#, qq#$$Config{installprefixexp}/lib#"
+ perl -MConfig -we "system qq#perl -pi.bak -we \"s{((arch^|priv)libexp)='.*'}{\$$1='# . \
+ quotemeta($$Config{installprefixexp}) . \
+ qq#/xlib/$(CROSS_NAME)'}\" $$Config{installprefixexp}/xlib/$(CROSS_NAME)/Config.pm#"