Makefile revision 1.1
1## Toplevel Makefile for cross-compilation of perl
2#
3## $Id: Makefile,v 1.4 2003/09/05 00:48:19 red Exp red $
4
5export TOPDIR?=${shell pwd}
6include $(TOPDIR)/config
7export CFLAGS
8export SYS=$(ARCH)-$(OS)
9export CROSS=$(ARCH)-$(OS)-
10export FULL_OPTIMIZATION = -fexpensive-optimizations -fomit-frame-pointer -O2
11export OPTIMIZATION = -O2
12
13export CC = $(CROSS)gcc
14export CXX = $(CROSS)g++
15export LD = $(CROSS)ld
16export STRIP = $(CROSS)strip
17export AR = $(CROSS)ar
18export RANLIB = $(CROSS)ranlib
19
20
21## Optimisation work
22ifeq ($(ARCH),arm)
23 ifdef CONFIG_TARGET_ARM_SA11X0
24   ifndef Architecture
25     Architecture = armv4l-strongarm
26   endif
27   FULL_OPTIMIZATION += -march=armv4 -mtune=strongarm1100 -mapcs-32
28   OPTIMIZATION += -march=armv4 -mtune=strongarm1100 -mapcs-32
29 endif
30endif
31
32CFLAGS+=$(FULL_OPTIMIZATION)
33
34all:
35	@echo Please read the README file before doing anything else.
36
37gen_patch:
38	diff -Bbur ../Makefile.SH Makefile.SH > Makefile.SH.patch
39	diff -Bbur ../installperl installperl > installperl.patch
40
41patch:
42	cd .. ; patch -p1 < Cross/Makefile.SH.patch
43	cd .. ; patch -p1 < Cross/installperl.patch ; mv installperl installperl-patched
44	cd .. ; sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl
45
46perl:
47	@echo Perl cross-build directory is $(TOPDIR)
48	@echo Target arch is $(SYS)
49	@echo toolchain: $(CC), $(CXX), $(LD), $(STRIP), $(AR), $(RANLIB)
50	@echo Optimizations: $(FULL_OPTIMIZATION)
51
52	$(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
53	cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
54	cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
55	cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
56	cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
57	cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
58	cd $(TOPDIR)/.. ; rm -rf install_me_here
59	cd $(TOPDIR)/.. ; make install-strip
60	cd $(TOPDIR)/.. ; sh -x Cross/warp
61
62
63