X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=wince%2FMakefile.ce;h=842df4a8dca2496f9fb327d0cd14ed3960a61ab8;hb=c0e1089ae3d29de8c9817373e1b7f36eaf9a9cd8;hp=d02f1a4717358e3ac257c071edcc0b8f60282ae0;hpb=2e64bfdbad05def7e878bb2b347fbafc957b682e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/wince/Makefile.ce b/wince/Makefile.ce index d02f1a4..842df4a 100644 --- a/wince/Makefile.ce +++ b/wince/Makefile.ce @@ -4,7 +4,7 @@ SRCDIR = .. PV = 59 -INST_VER = 5.9.0 +INST_VER = 5.9.3 # INSTALL_ROOT specifies a path where this perl will be installed on CE device INSTALL_ROOT=/netzwerk/sprache/perl @@ -192,7 +192,7 @@ CPU = ARM TARGETCPU = ARM CEVersion = 300 OSVERSION = WCE300 -PLATFORM = HPC2000 +#PLATFORM = HPC2000 MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \ -DPROCESSOR_ARM -DPALM_SIZE \ -I $(CELIBDLLDIR)\inc @@ -289,7 +289,9 @@ MCFLAGS = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \ MACH = -machine:mips SUBSYS = -subsystem:windowsce,3.00 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release +#STDLIBPATH = $(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(CPU) LDLIBPATH = -libpath:$(CELIBPATH) +#"-libpath:$(STDLIBPATH)" STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj !endif @@ -349,9 +351,13 @@ CECFLAGS = $(CECFLAGS) -Zi -Od !if "$(CFG)" == "RELEASE" # -O2 and -Ot give internal compiler error in perl.c and lexer. # Also the dll cannot be loaded by perl.exe... +!if "$(CPU)" == "SH3" +!else CECFLAGS = $(CECFLAGS) -O2 -Ot !endif +!endif + RCDEFS = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \ /d _WIN32_WCE=$(CEVersion) @@ -450,10 +456,10 @@ LINK32 = link LIB32 = $(LINK32) -lib RSC = rc -INCLUDES = -I.\include -I. -I.. +INCLUDES = -I.\include -I..\win32\include -I. -I.. DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) $(CECFLAGS) LOCDEFS = -DPERLDLL -DPERL_CORE -CXX_FLAG = -TP -GX +CXX_FLAG = -TP PERLEXE_RES = perl.res PERLDLL_RES = @@ -719,9 +725,11 @@ $(CONFIGPM): .\config.h ..\config.sh ..\minimod.pl cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary -mkdir $(XCOREDIR) $(XCOPY) ..\*.h $(XCOREDIR)\*.* + $(XCOPY) ..\*.inc $(XCOREDIR)\*.* $(XCOPY) *.h $(XCOREDIR)\*.* $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.* $(RCOPY) include $(XCOREDIR)\*.* + $(XCOPY) ..\win32\include $(XCOREDIR)\*.* -$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)" if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM) @@ -754,9 +762,17 @@ $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs #---------------------------------------------------------------------------------- +NOT_COMPILE_EXT = +!if "$(MACHINE)" == "wince-sh3-palm-wce211" +NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap +!endif +!if "$(MACHINE)" == "wince-mips-palm-wce211" +NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap +!endif + Extensions: ..\win32\buildext.pl $(PERLDEP) $(CONFIGPM) $(HPERL) -I..\lib -I..\win32 -MCross=$(CROSS_NAME) ..\win32\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \ - !POSIX !Time/HiRes + !POSIX $(NOT_COMPILE_EXT) Extensions_clean: -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean @@ -820,12 +836,28 @@ $(DLLDIR)\DynaLoader.obj !IF "$(PERL_MALLOC)" == "define" XDLLOBJS = $(XDLLOBJS) $(DLLDIR)\malloc.obj !ENDIF +!IF "$(CRYPT_SRC)" != "" +XDLLOBJS = $(XDLLOBJS) $(DLLDIR)\fcrypt.obj +!ENDIF {$(SRCDIR)}.c{$(DLLDIR)}.obj: - $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $< + $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $< + +# compiler explains that it will optimize toke.c if we'll give it an +# option -QMOb with num>=4178 +$(DLLDIR)\toke.obj: + $(CC) -c $(CFLAGS_O) -QMOb9000 -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ ..\toke.c {$(SRCDIR)/wince}.c{$(DLLDIR)}.obj: - $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $< + $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $< + +# -DPERL_IMPLICIT_SYS needs C++ for perllib.c +# This is the only file that depends on perlhost.h, vmem.h, and vdir.h +!IF "$(USE_IMP_SYS)" == "define" +$(DLLDIR)\perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h + $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c + rem (frustrated) mv perllib.obj $(DLLDIR) +!ENDIF perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl $(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \ @@ -841,7 +873,7 @@ $(DLLDIR) : if not exist "$(DLLDIR)" mkdir "$(DLLDIR)" $(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c - $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \ + $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \ $(EXTDIR)\DynaLoader\DynaLoader.c XPERLEXEOBJS = \ @@ -902,7 +934,14 @@ install: all !endif dist: all - $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) + $(HPERL) -I..\lib -MCross=$(CROSS_NAME) 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 + +zip: + $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip perl.ico: $(HPERL) makeico.pl