summaryrefslogtreecommitdiff
path: root/Cross/Makefile
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-04-21 16:24:36 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-04-21 16:24:36 +0000
commit6a809565f92f58eb2e23772b87ab5c4f45ee1dd0 (patch)
tree52b211eaf82fe28a744ae30c254ec94310953b30 /Cross/Makefile
parent9c98058e3a5614fae5d400e2119d67d3c97a64d1 (diff)
downloadperl-6a809565f92f58eb2e23772b87ab5c4f45ee1dd0.tar.gz
Add OpenZaurus cross-compilation patches.
p4raw-id: //depot/perl@19297
Diffstat (limited to 'Cross/Makefile')
-rw-r--r--Cross/Makefile63
1 files changed, 63 insertions, 0 deletions
diff --git a/Cross/Makefile b/Cross/Makefile
new file mode 100644
index 0000000000..f0db84e9c0
--- /dev/null
+++ b/Cross/Makefile
@@ -0,0 +1,63 @@
+## Toplevel Makefile for cross-compilation of perl
+#
+## $Id: Makefile,v 1.1 2003/04/15 00:38:39 red Exp red $
+
+export TOPDIR?=${shell pwd}
+include $(TOPDIR)/config
+export CFLAGS
+export SYS=$(ARCH)-$(OS)
+export CROSS=$(ARCH)-$(OS)-
+export FULL_OPTIMIZATION = -fexpensive-optimizations -fomit-frame-pointer -O2
+export OPTIMIZATION = -O2
+
+export CC = $(CROSS)gcc
+export CXX = $(CROSS)g++
+export LD = $(CROSS)ld
+export STRIP = $(CROSS)strip
+export AR = $(CROSS)ar
+export RANLIB = $(CROSS)ranlib
+
+
+## Optimisation work
+ifeq ($(ARCH),arm)
+ ifdef CONFIG_TARGET_ARM_SA11X0
+ ifndef Architecture
+ Architecture = armv4l-strongarm
+ endif
+ FULL_OPTIMIZATION += -march=armv4 -mtune=strongarm1100 -mapcs-32
+ OPTIMIZATION += -march=armv4 -mtune=strongarm1100 -mapcs-32
+ endif
+endif
+
+CFLAGS+=$(FULL_OPTIMIZATION)
+
+all:
+ @echo Please read the README file before doing anything else.
+
+gen_patch:
+ diff -Bbur ../Makefile.SH Makefile.SH > Makefile.SH.patch
+ diff -Bbur ../installperl installperl > installperl.patch
+
+patch:
+ cd .. ; patch -p1 < Cross/Makefile.SH.patch
+ cd .. ; patch -p1 < Cross/installperl.patch ; mv installperl installperl-patched
+ cd .. ; sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl
+
+perl:
+ @echo Perl cross-build directory is $(TOPDIR)
+ @echo Target arch is $(SYS)
+ @echo toolchain: $(CC), $(CXX), $(LD), $(STRIP), $(AR), $(RANLIB)
+ @echo Optimizations: $(FULL_OPTIMIZATION)
+
+ $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
+ $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh-arse
+ cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
+ cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
+ cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; rm -rf install_me_here
+ cd $(TOPDIR)/.. ; make install-strip
+ cd $(TOPDIR)/.. ; sh -x Cross/warp
+
+