diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2003-04-21 16:24:36 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-04-21 16:24:36 +0000 |
commit | 6a809565f92f58eb2e23772b87ab5c4f45ee1dd0 (patch) | |
tree | 52b211eaf82fe28a744ae30c254ec94310953b30 /Cross/Makefile | |
parent | 9c98058e3a5614fae5d400e2119d67d3c97a64d1 (diff) | |
download | perl-6a809565f92f58eb2e23772b87ab5c4f45ee1dd0.tar.gz |
Add OpenZaurus cross-compilation patches.
p4raw-id: //depot/perl@19297
Diffstat (limited to 'Cross/Makefile')
-rw-r--r-- | Cross/Makefile | 63 |
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 + + |