63 lines
2.0 KiB
Makefile
63 lines
2.0 KiB
Makefile
## Toplevel Makefile for cross-compilation of perl
|
|
|
|
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 .. ; if [ ! -e ./CROSS_PATCHED ] ; then \
|
|
patch -p1 < Cross/Makefile.SH.patch; \
|
|
patch -p1 < Cross/installperl.patch ; mv installperl installperl-patched; \
|
|
sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl; \
|
|
touch CROSS_PATCHED ; fi
|
|
|
|
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
|
|
cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
|
|
cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm lib/Config_heavy.pl 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
|
|
|
|
|