1 # perl makefile for wince
3 # Time-stamp: <26/10/01 15:10:06 keuchel@keuchelnt>
9 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
10 INSTALL_ROOT=/netzwerk/sprache/perl
11 INST_TOP=$(INSTALL_ROOT)
14 # PERLCEDIR shoud be set to current directory
15 PERLCEDIR = H:\src\wince\perl\wince
17 # WCEROOT is a directory where Windows CE Tools was installed
18 WCEROOT = D:\Windows CE Tools
20 # HPERL stands for host perl, which is perl on local desktop machine
21 # which is usually ..\miniperl.exe
22 #HPERL = N:\Programme\perl\bin\perl.exe
23 HPERL = $(MAKEDIR)\..\miniperl.exe
25 CEPATH = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN
26 CELIBDLLDIR = h:\src\wince\celib-palm-3.0
27 CECONSOLEDIR = h:\src\wince\w32console
29 # specify following options to build perl on local machine, by MSVC
30 MSVCDIR = D:\MSVStudio\VC98
32 CCINCDIR = $(CCHOME)\include
33 CCLIBDIR = $(CCHOME)\lib
38 XCOPY = xcopy $(YES) /f /r /i /d
39 RCOPY = xcopy $(YES) /f /r /i /e /d
41 # cecopy program. Make shure it is in your path, as well as cemkdir, cedel
45 # Comment out next assign to disable perl's I/O subsystem and use compiler's
46 # stdio for IO - depending on your compiler vendor and run time library you may
47 # then get a number of fails from make test i.e. bugs - complain to them not us ;-).
48 # You will also be unable to take full advantage of perl5.8's support for multiple
49 # encodings and may see lower IO performance. You have been warned.
54 # keep this untouched!
61 !if "$(MACHINE)" == ""
62 MACHINE=wince-arm-hpc-wce300
63 #MACHINE=wince-arm-hpc-wce211
64 #MACHINE=wince-sh3-hpc-wce211
65 #MACHINE=wince-mips-hpc-wce211
66 #MACHINE=wince-sh3-hpc-wce200
67 #MACHINE=wince-mips-hpc-wce200
68 #MACHINE=wince-arm-pocket-wce300
69 #MACHINE=wince-mips-pocket-wce300
70 #MACHINE=wince-sh3-pocket-wce300
71 #MACHINE=wince-x86em-pocket-wce300
72 #MACHINE=wince-mips-palm-wce211
73 #MACHINE=wince-sh3-palm-wce211
74 #MACHINE=wince-x86em-palm-wce211
77 ######################################################################
80 !if "$(MACHINE)" == "wince-sh3-hpc-wce211"
88 MCFLAGS = -MDd -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
90 SUBSYS = -subsystem:windowsce,2.11
91 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
92 LDLIBPATH = -libpath:$(CELIBPATH)
93 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
94 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
97 !if "$(MACHINE)" == "wince-mips-hpc-wce211"
104 PLATFORM = MS HPC Pro
105 MCFLAGS = -D _MT -D _DLL \
106 -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
108 -I $(CELIBDLLDIR)\inc
109 SUBSYS = -subsystem:windowsce,2.11
110 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
111 LDLIBPATH = -libpath:$(CELIBPATH)
112 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
113 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
116 !if "$(MACHINE)" == "wince-mips-hpc-wce200"
124 # MUST USE -MD to get the right FPE stuff...
125 MCFLAGS = -D _MT -D _DLL -MD \
126 -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
128 -I $(CELIBDLLDIR)\inc
129 SUBSYS = -subsystem:windowsce,2.00
130 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
131 LDLIBPATH = -libpath:$(CELIBPATH)
132 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
133 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
136 !if "$(MACHINE)" == "wince-sh3-hpc-wce200"
144 # MUST USE -MD to get the right FPE stuff...
145 MCFLAGS = -D _MT -D _DLL -MD \
146 -D SH3 -D sh3 -D _SH3_ -D _sh3_ -D SHx -DPROCESSOR_SH3 \
148 -I $(CELIBDLLDIR)\inc
149 SUBSYS = -subsystem:windowsce,2.00
150 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
151 LDLIBPATH = -libpath:$(CELIBPATH)
152 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
153 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
156 !if "$(MACHINE)" == "wince-arm-hpc-wce211"
163 PLATFORM = MS HPC Pro
164 MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
165 -DPROCESSOR_ARM -DPALM_SIZE \
166 -I $(CELIBDLLDIR)\inc
167 SUBSYS = -subsystem:windowsce,2.11
168 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
169 LDLIBPATH = -libpath:$(CELIBPATH)
170 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
171 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
174 !if "$(MACHINE)" == "wince-arm-hpc-wce300"
182 MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
183 -DPROCESSOR_ARM -DPALM_SIZE \
184 -I $(CELIBDLLDIR)\inc
185 SUBSYS = -subsystem:windowsce,3.00
186 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
187 LDLIBPATH = -libpath:$(CELIBPATH)
188 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
189 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
192 !if "$(MACHINE)" == "wince-mips-palm-wce211"
199 PLATFORM = MS Palm Size PC
200 MCFLAGS = -DMIPS -D_MIPS_ -DPROCESSOR_MIPS -D PALM_SIZE -D _DLL -D _MT \
201 -I $(CELIBDLLDIR)\inc
202 SUBSYS = -subsystem:windowsce,2.11
203 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
204 LDLIBPATH = -libpath:$(CELIBPATH)
205 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
206 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
209 !if "$(MACHINE)" == "wince-sh3-palm-wce211"
216 PLATFORM = MS Palm Size PC
217 MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
218 -I $(CELIBDLLDIR)\inc
219 SUBSYS = -subsystem:windowsce,2.11
220 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
221 LDLIBPATH = -libpath:$(CELIBPATH)
222 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
223 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
226 !if "$(MACHINE)" == "wince-x86em-palm-wce211"
233 PLATFORM = MS Palm Size PC
234 MCFLAGS = -MDd -DX86 -D_X86_ -DPROCESSOR_X86 \
235 -D_WIN32_WCE_EMULATION -DPALM_SIZE \
236 -I $(CELIBDLLDIR)\inc
238 SUBSYS = -subsystem:windows
239 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
240 LDLIBPATH = -libpath:$(CELIBPATH)
241 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
242 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
245 !if "$(MACHINE)" == "wince-x86em-pocket-wce300"
252 PLATFORM = MS Pocket PC
253 MCFLAGS = -DX86 -D_X86_ -DPROCESSOR_X86 -D _MT -D _DLL \
254 -D_WIN32_WCE_EMULATION -DPALM_SIZE -DPOCKET_SIZE \
255 -I $(CELIBDLLDIR)\inc
257 SUBSYS = -subsystem:windows
258 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
259 LDLIBPATH = -libpath:$(CELIBPATH)
260 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
261 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
264 !if "$(MACHINE)" == "wince-mips-pocket-wce300"
271 PLATFORM = MS Pocket PC
272 MCFLAGS = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
273 -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
274 -I $(CELIBDLLDIR)\inc
276 SUBSYS = -subsystem:windowsce,3.00
277 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
278 LDLIBPATH = -libpath:$(CELIBPATH)
279 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
280 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
283 !if "$(MACHINE)" == "wince-sh3-pocket-wce300"
290 PLATFORM = MS Pocket PC
291 MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 \
292 -DPALM_SIZE -DPOCKET_SIZE \
293 -I $(CELIBDLLDIR)\inc
295 SUBSYS = -subsystem:windowsce,3.00
296 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
297 LDLIBPATH = -libpath:$(CELIBPATH)
298 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
299 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
302 !if "$(MACHINE)" == "wince-arm-pocket-wce300"
309 PLATFORM = MS Pocket PC
310 MCFLAGS = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \
311 -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
312 -I $(CELIBDLLDIR)\inc
314 SUBSYS = -subsystem:windowsce,3.00
315 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
316 LDLIBPATH = -libpath:$(CELIBPATH)
317 STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
318 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
321 ######################################################################
324 CEDEFS = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \
327 #CEDEFS = $(CEDEFS) -DDEBUGGING_OPS
331 !if "$(CFG)" == "DEBUG"
332 CECFLAGS = $(CECFLAGS) -Zi -Od
335 !if "$(CFG)" == "RELEASE"
336 # -O2 and -Ot give internal compiler error in perl.c and lexer.
337 # Also the dll cannot be loaded by perl.exe...
338 CECFLAGS = $(CECFLAGS)
341 RCDEFS = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \
342 /d _WIN32_WCE=$(CEVersion)
344 PATH=$(CEPATH);$(PATH)
346 INCLUDE=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\include
347 LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH)
349 ######################################################################
352 !message Compiling for $(MACHINE)
354 !message INCLUDE=$(INCLUDE)
355 !message PATH=$(CEPATH)
358 ######################################################################
360 # Additional compiler flags can be specified here.
363 BUILDOPT = $(BUILDOPT) $(CECFLAGS)
365 ##################### CHANGE THESE ONLY IF YOU MUST #####################
367 !IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
371 CRYPT_FLAG = -DHAVE_DES_FCRYPT
374 !IF "$(PERL_MALLOC)" == ""
378 !IF "$(USE_5005THREADS)" == ""
379 USE_5005THREADS = undef
382 !IF "$(USE_5005THREADS)" == "define"
386 !IF "$(USE_IMP_SYS)" == "define"
390 !IF "$(USE_MULTI)" == ""
394 !IF "$(USE_ITHREADS)" == ""
398 !IF "$(USE_IMP_SYS)" == ""
402 !IF "$(USE_PERLIO)" == ""
406 !IF "$(USE_PERLCRT)" == ""
410 !IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef"
414 !IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
416 USE_5005THREADS = undef
419 !IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef"
420 BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
423 !IF "$(USE_IMP_SYS)" != "undef"
424 BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS
427 !IF "$(USE_PERLIO)" == "define"
428 BUILDOPT = $(BUILDOPT) -DUSE_PERLIO
431 !IF "$(CROSS_NAME)" == ""
435 # new option - automatically defined in perl.h...
436 #BUILDOPT = $(BUILDOPT) -DUSE_ENVIRON_ARRAY
438 PROCESSOR_ARCHITECTURE = $(TARGETCPU)
439 ARCHNAME = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE)
440 ARCHDIR = ..\lib\$(ARCHNAME)
441 COREDIR = ..\lib\CORE
442 XCOREDIR = ..\xlib\$(CROSS_NAME)\CORE
443 AUTODIR = ..\lib\auto
447 EXTUTILSDIR = $(LIBDIR)\ExtUtils
450 LIB32 = $(LINK32) -lib
453 INCLUDES = -I.\include -I. -I..
454 DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) $(CECFLAGS)
455 LOCDEFS = -DPERLDLL -DPERL_CORE
458 PERLEXE_RES = perl.res
461 !if "$(CFG)" == "RELEASE"
465 !if "$(CFG)" == "DEBUG"
469 CELIBS = -nodefaultlib \
470 winsock.lib $(CELIB) coredll.lib
472 !if $(CEVersion) > 200
473 CELIBS = $(CELIBS) corelibc.lib
475 CELIBS = $(CELIBS) msvcrt.lib
478 LIBBASEFILES = $(CRYPT_LIB) $(CELIBS)
480 LIBFILES = $(LIBBASEFILES) $(LIBC)
482 CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \
483 $(PCHFLAGS) $(OPTIMIZE)
485 LINK_FLAGS = -nologo -machine:$(PROCESSOR_ARCHITECTURE)
487 !if "$(CFG)" == "DEBUG"
488 LINK_FLAGS = $(LINK_FLAGS) -debug:full -pdb:none
494 CFLAGS_O = $(CFLAGS) $(BUILDOPT)
502 .SUFFIXES : .c $(o) .dll .lib .exe .rc .res
505 $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
511 $(LINK32) -dll $(SUBSYS) $(LDLIBPATH) \
512 -implib:$(*B).lib -def:$(*B).def \
513 -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
518 # This must be relative to ../lib/CORE, else the ext dll build fails...
519 PERLIMPLIB_EXP = ..\..\..\xlib\$(CROSS_NAME)\CORE\perl$(PV).lib
520 PERLIMPLIB = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib
521 PERLDLL = $(MACHINE)\perl$(PV).dll
523 DLLDIR = $(MACHINE)\dll
524 PERLEXE = $(MACHINE)\perl.exe
526 CONFIGPM = ..\xlib\$(CROSS_NAME)\Config.pm
527 MINIMOD = ..\lib\ExtUtils\Miniperl.pm
529 # Nominate a target which causes extensions to be re-built
530 # This used to be $(PERLEXE), but at worst it is the .dll that they depend
531 # on and really only the interface - i.e. the .def file used to export symbols
533 PERLDEP = perldll.def
537 CFGSH_TMPL = config.ce
538 CFGH_TMPL = config_H.ce
541 # filenames given to xsubpp must have forward slashes (since it puts
542 # full pathnames in #line strings)
543 XSUBPP = $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \
579 EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
581 !IF "$(PERL_MALLOC)" == "define"
582 EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
585 EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c .\win32io.c
592 !IF "$(CRYPT_SRC)" != ""
593 WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)
596 DLL_SRC = $(DYNALOADER).c
635 .\include\sys\socket.h \
638 !IF "$(USE_SETARGV)" != ""
639 SETARGV_OBJ = setargv$(o)
642 DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
643 Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
646 STATIC_EXT = DynaLoader
649 DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader
650 SOCKET = $(EXTDIR)\Socket\Socket
652 DUMPER = $(EXTDIR)\Data\Dumper\Dumper
654 FCNTL = $(EXTDIR)\Fcntl\Fcntl
655 OPCODE = $(EXTDIR)\Opcode\Opcode
656 SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File
657 POSIX = $(EXTDIR)\POSIX\POSIX
658 ATTRS = $(EXTDIR)\attrs\attrs
659 THREAD = $(EXTDIR)\Thread\Thread
662 ERRNO = $(EXTDIR)\Errno\Errno
663 PEEK = $(EXTDIR)\Devel\Peek\Peek
664 BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader
665 DPROF = $(EXTDIR)\Devel\DProf\DProf
666 GLOB = $(EXTDIR)\File\Glob\Glob
667 HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname
668 SOCKET_DLL = $(AUTODIR)\Socket\Socket.dll
669 FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll
670 OPCODE_DLL = $(AUTODIR)\Opcode\Opcode.dll
671 SDBM_FILE_DLL = $(AUTODIR)\SDBM_File\SDBM_File.dll
672 IO_DLL = $(AUTODIR)\IO\IO.dll
673 POSIX_DLL = $(AUTODIR)\POSIX\POSIX.dll
674 ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll
675 THREAD_DLL = $(AUTODIR)\Thread\Thread.dll
676 B_DLL = $(AUTODIR)\B\B.dll
677 DUMPER_DLL = $(AUTODIR)\Data\Dumper\Dumper.dll
678 PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll
679 RE_DLL = $(AUTODIR)\re\re.dll
680 BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll
681 DPROF_DLL = $(AUTODIR)\Devel\DProf\DProf.dll
682 GLOB_DLL = $(AUTODIR)\File\Glob\Glob.dll
683 HOSTNAME_DLL = $(AUTODIR)\Sys\Hostname\Hostname.dll
685 ERRNO_PM = $(LIBDIR)\Errno.pm
726 POD2HTML = $(PODDIR)\pod2html
727 POD2MAN = $(PODDIR)\pod2man
728 POD2LATEX = $(PODDIR)\pod2latex
729 POD2TEXT = $(PODDIR)\pod2text
732 "INST_DRV=$(INST_DRV)" \
733 "INST_TOP=$(INST_TOP)" \
734 "INST_VER=$(INST_VER)" \
735 "INST_ARCH=$(INST_ARCH)" \
736 "archname=$(ARCHNAME)" \
738 "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
739 "cf_by=Rainer Keuchel" \
740 "cf_email=coyxc@rainer-keuchel.de" \
741 "d_crypt=$(D_CRYPT)" \
742 "d_mymalloc=$(PERL_MALLOC)" \
744 "incpath=$(CCINCDIR)" \
745 "libperl=$(PERLIMPLIB_EXP)" \
746 "libpth=$(LIBPATH)" \
749 "static_ext=$(STATIC_EXT)" \
750 "dynamic_ext=$(DYNAMIC_EXT)" \
751 "nonxs_ext=$(NONXS_EXT)" \
752 "use5005threads=$(USE_5005THREADS)" \
753 "useithreads=$(USE_ITHREADS)" \
754 "usethreads=$(USE_5005THREADS)" \
755 "usemultiplicity=$(USE_MULTI)" \
756 "useperlio=$(USE_PERLIO)" \
757 "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
758 "optimize=$(OPTIMIZE)"
764 all: hostminiperl $(MINIMOD) $(CONFIGPM) $(PERLEXE) Extensions
766 $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
768 $(CONFIGPM): .\config.h ..\config.sh ..\minimod.pl
769 cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
771 $(XCOPY) ..\*.h $(XCOREDIR)\*.*
772 $(XCOPY) *.h $(XCOREDIR)\*.*
773 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
774 $(RCOPY) include $(XCOREDIR)\*.*
775 -$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
776 if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
780 copy config_H.ce config.h
782 ..\config.sh: config.ce config_sh.PL
783 $(HPERL) -I..\lib -I..\win32 config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
785 $(MINIMOD) : ..\minimod.pl
786 cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
788 perlmain.c : runperl.c
789 $(COPY) runperl.c perlmain.c
791 $(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
792 if not exist $(AUTODIR) mkdir $(AUTODIR)
794 $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) $(*B)_pm.PL
795 $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) XSLoader_pm.PL
797 $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
798 $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
800 $(XSUBPP) dl_win32.xs > $(*B).c
803 $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
804 $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
806 #----------------------------------------------------------------------------------
807 Extensions: ..\win32\buildext.pl $(PERLDEP) $(CONFIGPM)
808 $(HPERL) -I..\lib -I..\win32 -MCross=$(CROSS_NAME) ..\win32\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \
809 !File/Glob !POSIX !Time/HiRes
812 -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean
814 #----------------------------------------------------------------------------------
816 $(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs
817 cd $(EXTDIR)\Data\$(*B)
818 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
822 $(DPROF_DLL): $(PERLEXE) $(DPROF).xs
823 cd $(EXTDIR)\Devel\$(*B)
824 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
828 $(GLOB_DLL): $(PERLEXE) $(GLOB).xs
829 cd $(EXTDIR)\File\$(*B)
830 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
834 $(PEEK_DLL): $(PERLEXE) $(PEEK).xs
835 cd $(EXTDIR)\Devel\$(*B)
836 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
840 $(RE_DLL): $(PERLEXE) $(RE).xs
842 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
846 $(B_DLL): $(PERLEXE) $(B).xs
848 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
852 $(THREAD_DLL): $(PERLEXE) $(THREAD).xs
854 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
858 $(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs
860 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
864 $(POSIX_DLL): $(PERLEXE) $(POSIX).xs
866 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
870 $(IO_DLL): $(PERLEXE) $(IO).xs
872 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
876 $(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs
878 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
882 $(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs
884 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
888 $(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs
890 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
894 $(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs
896 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
900 $(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs
901 cd $(EXTDIR)\Sys\$(*B)
902 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
906 $(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs
908 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
912 $(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL
914 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
918 $(PERLEXE_RES): perl.rc perl.ico
922 -rm -f $(MACHINE)/dll/*
923 -rm -f $(MACHINE)/*.obj
924 -rm -f $(MACHINE)/*.exe
925 -rm -f $(MACHINE)/*.dll
926 -rm -f $(MACHINE)/*.lib
927 -rm -f ../config.sh ../lib/Config.pm
928 -rm -f config.h perl.res
930 !IF "$(MACHINE)" == "wince-sh3-hpc"
932 install_perlexe: $(PERLEXE)
933 cedel /speicherkarte2/bin/perl.exe
934 $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
936 install_perldll: $(PERLDLL)
937 cedel /speicherkarte2/bin/perl$(PV).dll
938 $(CECOPY) pc:../perl$(PV).dll ce:/speicherkarte2/bin
940 install_perl: install_perlexe install_perldll
943 $(CECOPY) pc:test.pl ce:/speicherkarte2/bin
944 ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl
946 install_lib: ../lib/Config.pm
947 $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
949 !ELSEIF "$(MACHINE)" == "wince-arm-hpc"
951 install_perlexe: $(PERLEXE)
952 -cedel /speicherkarte/bin/perl.exe
953 $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
955 install_perldll: $(PERLDLL)
956 -cedel /speicherkarte/bin/perl$(PV).dll
957 $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
959 install_perl: install_perlexe install_perldll
962 $(CECOPY) pc:test.pl ce:/speicherkarte/bin
963 ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl
965 install_lib: ../lib/Config.pm
966 $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
968 !ELSEIF "$(MACHINE)" == "wince-mips-hpc"
970 install_perlexe: $(PERLEXE)
971 $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
973 install_perldll: $(PERLDLL)
974 $(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
976 install_perl: install_perlexe install_perldll
979 $(CECOPY) pc:test.pl ce:/netzwerk/compaq/bin
980 ceexec /netzwerk/compaq/bin/perl.exe $(INSTALL_ROOT)/test.pl
982 install_lib: ../lib/Config.pm
983 $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
985 !ELSEIF "$(MACHINE)" == "wince-x86em-pocket"
988 ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib
989 ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib
990 ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter
992 install_perlexe: $(PERLEXE)
993 $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
995 install_perldll: $(PERLDLL)
996 $(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
998 install_perl: install_perlexe install_perldll
1008 $(DLLDIR)\doio.obj \
1009 $(DLLDIR)\doop.obj \
1010 $(DLLDIR)\dump.obj \
1011 $(DLLDIR)\globals.obj \
1014 $(DLLDIR)\locale.obj \
1016 $(DLLDIR)\numeric.obj \
1018 $(DLLDIR)\perl.obj \
1019 $(DLLDIR)\perlapi.obj \
1020 $(DLLDIR)\perlio.obj \
1021 $(DLLDIR)\perly.obj \
1023 $(DLLDIR)\pp_ctl.obj \
1024 $(DLLDIR)\pp_hot.obj \
1025 $(DLLDIR)\pp_pack.obj \
1026 $(DLLDIR)\pp_sort.obj \
1027 $(DLLDIR)\pp_sys.obj \
1028 $(DLLDIR)\reentr.obj \
1029 $(DLLDIR)\regcomp.obj \
1030 $(DLLDIR)\regexec.obj \
1032 $(DLLDIR)\scope.obj \
1034 $(DLLDIR)\taint.obj \
1035 $(DLLDIR)\toke.obj \
1036 $(DLLDIR)\universal.obj \
1037 $(DLLDIR)\utf8.obj \
1038 $(DLLDIR)\util.obj \
1039 $(DLLDIR)\win32thread.obj \
1040 $(DLLDIR)\wince.obj \
1041 $(DLLDIR)\win32io.obj \
1042 $(DLLDIR)\wincesck.obj \
1043 $(DLLDIR)\xsutils.obj \
1044 $(DLLDIR)\perllib.obj \
1045 $(DLLDIR)\DynaLoader.obj
1047 {$(SRCDIR)}.c{$(DLLDIR)}.obj:
1048 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
1050 {$(SRCDIR)/wince}.c{$(DLLDIR)}.obj:
1051 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
1053 perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
1054 $(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
1055 CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) > perldll.def
1057 $(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
1058 $(LINK32) -dll -def:perldll.def -out:$@ \
1059 $(SUBSYS) $(LDLIBPATH) \
1060 $(LINK_FLAGS) $(LIBFILES) \
1061 $(XDLLOBJS) $(PERLDLL_RES)
1064 if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"
1066 $(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
1067 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
1068 $(EXTDIR)\DynaLoader\DynaLoader.c
1071 $(MACHINE)\perlmain.obj
1073 $(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
1074 $(XCOPY) $(MACHINE)\*.lib $(XCOREDIR)
1075 $(LINK32) $(SUBSYS) $(LDLIBPATH) \
1076 -entry:wWinMainCRTStartup \
1077 -out:$(MACHINE)\perl.exe \
1078 -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
1079 $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)
1081 $(MACHINE)\perlmain.obj : perlmain.c
1082 $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmain.c
1085 socketdll: $(SOCKET_DLL)
1086 dumperdll: $(DUMPER_DLL)
1088 dlls: socketdll iodll dumperdll
1089 -xmkdir -p $(MACHINE)/lib/auto/IO
1090 cp ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO
1091 cp ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO
1092 -xmkdir $(MACHINE)/lib/auto/Socket
1093 cp ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket
1094 cp ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket
1095 -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper
1096 cp ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper
1097 cp ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper
1100 $(COPY) $(CELIBPATH)\celib.dll $(MACHINE)
1101 cp perl.txt $(MACHINE)
1102 cp registry.bat $(MACHINE)
1103 cp ../lib/Config.pm $(MACHINE)/lib
1105 rm -f perl-$(MACHINE).tar.gz
1106 sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib"
1107 gzip -9 perl-$(MACHINE).tar
1108 mv perl-$(MACHINE).tar.gz h:/freenet/new
1111 !if "$(MACHINE)" == "wince-arm-hpc-wce300"
1113 $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
1114 $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
1116 $(CECOPY) pc:../lib/auto/IO/io.dll ce:$(INSTALL_ROOT)/lib/auto/IO/io.dll
1119 -cemkdir "$(INSTALL_ROOT)"
1120 -cemkdir "$(INSTALL_ROOT)\bin"
1121 -cemkdir "$(INSTALL_ROOT)\lib"
1122 $(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin"
1123 $(CECOPY) "pc:$(MACHINE)/perl$(PV).dll" "ce:$(INSTALL_ROOT)/bin"
1124 $(CECOPY) "pc:../xlib/$(CROSS_NAME)/Config.pm" "ce:$(INSTALL_ROOT)/lib"
1130 hostminiperl: ..\miniperl.exe
1134 set PATH=$(CCHOME)\bin;$(PATH)
1135 $(MAKE) -f Makefile "CCHOME=$(MSVCDIR)" "CCINCDIR=$(CCHOME)\include" "CCLIBDIR=$(CCHOME)\lib" "INCLUDE=$(CCHOME)\include" "LIB=$(CCHOME)\lib" "LINK_FLAGS=" .\config.h ..\miniperl.exe
1139 perl -MConfig -MExtUtils::Install -we "install({'../lib/CORE', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#},1)"
1140 perl -MConfig -MExtUtils::Install -we "install({'../xlib/$(CROSS_NAME)', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)#},1)"
1141 perl -MConfig -MFile::Copy -we "copy qq#./$(MACHINE)/perl$(PV).lib#, qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#"
1142 perl -MConfig -MFile::Copy -we "copy qq#../lib/Cross.pm#, qq#$$Config{installprefixexp}/lib#"
1143 perl -MConfig -we "system qq#perl -pi.bak -we \"s{((arch^|priv)libexp)='.*'}{\$$1='# . \
1144 quotemeta($$Config{installprefixexp}) . \
1145 qq#/xlib/$(CROSS_NAME)'}\" $$Config{installprefixexp}/xlib/$(CROSS_NAME)/Config.pm#"