1 | ## Toplevel Makefile for cross-compilation of perl
|
---|
2 | #
|
---|
3 | ## $Id: Makefile,v 1.7 2004/01/12 15:41:02 red Exp red $
|
---|
4 |
|
---|
5 | export TOPDIR=${shell pwd}
|
---|
6 | include $(TOPDIR)/config
|
---|
7 | export CFLAGS
|
---|
8 | export SYS=$(ARCH)-$(OS)
|
---|
9 | export CROSS=$(ARCH)-$(OS)-
|
---|
10 | export FULL_OPTIMIZATION = -fexpensive-optimizations -fomit-frame-pointer -O2
|
---|
11 | export OPTIMIZATION = -O2
|
---|
12 |
|
---|
13 | export CC = $(CROSS)gcc
|
---|
14 | export CXX = $(CROSS)g++
|
---|
15 | export LD = $(CROSS)ld
|
---|
16 | export STRIP = $(CROSS)strip
|
---|
17 | export AR = $(CROSS)ar
|
---|
18 | export RANLIB = $(CROSS)ranlib
|
---|
19 |
|
---|
20 |
|
---|
21 | ## Optimisation work
|
---|
22 | ifeq ($(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
|
---|
30 | endif
|
---|
31 |
|
---|
32 | CFLAGS+=$(FULL_OPTIMIZATION)
|
---|
33 |
|
---|
34 | all:
|
---|
35 | @echo Please read the README file before doing anything else.
|
---|
36 |
|
---|
37 | gen_patch:
|
---|
38 | diff -Bbur ../Makefile.SH Makefile.SH > Makefile.SH.patch
|
---|
39 | diff -Bbur ../installperl installperl > installperl.patch
|
---|
40 |
|
---|
41 | patch:
|
---|
42 | cd .. ; if [ ! -e ./CROSS_PATCHED ] ; then \
|
---|
43 | patch -p1 < Cross/Makefile.SH.patch; \
|
---|
44 | patch -p1 < Cross/installperl.patch ; mv installperl installperl-patched; \
|
---|
45 | sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl; \
|
---|
46 | touch CROSS_PATCHED ; fi
|
---|
47 |
|
---|
48 | dry_patch:
|
---|
49 | cd .. ; patch --dry-run -p1 < Cross/Makefile.SH.patch; \
|
---|
50 | patch --dry-run -p1 < Cross/installperl.patch; \
|
---|
51 |
|
---|
52 | perl:
|
---|
53 | @echo Perl cross-build directory is $(TOPDIR)
|
---|
54 | @echo Target arch is $(SYS)
|
---|
55 | @echo toolchain: $(CC), $(CXX), $(LD), $(STRIP), $(AR), $(RANLIB)
|
---|
56 | @echo Optimizations: $(FULL_OPTIMIZATION)
|
---|
57 |
|
---|
58 | $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
|
---|
59 | cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
|
---|
60 | cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
|
---|
61 | cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
|
---|
62 | cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
|
---|
63 | cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
|
---|
64 | cd $(TOPDIR)/.. ; rm -rf install_me_here
|
---|
65 | cd $(TOPDIR)/.. ; make install-strip
|
---|
66 | cd $(TOPDIR)/.. ; sh -x Cross/warp
|
---|
67 |
|
---|
68 |
|
---|