buildrootschalter/make/perl.mk
Eric Andersen 620dd7c5fd By popular demand, use 'sed' rather than 'perl' for doing
search and replace stuff.  Hopefully we do not have any
perl specific regexs that will be broken by this change,
but it seems to be working thus far anyways,
2003-11-13 06:02:20 +00:00

61 lines
2.2 KiB
Makefile

#############################################################
#
# perl
#
#############################################################
PERL_SOURCE:=perl-5.8.0.tar.gz
PERL_SOURCE_2:=$(SOURCE_DIR)/perl-cross-0.1.tar.gz
PERL_PATCH:=$(SOURCE_DIR)/perl.patch
PERL_SITE:=http://www.cpan.org/src/
PERL_DIR:=$(BUILD_DIR)/perl-5.8.0
PERL_CAT:=zcat
PERL_BINARY:=perl
PERL_TARGET_BINARY:=usr/bin/perl
$(DL_DIR)/$(PERL_SOURCE):
$(WGET) -P $(DL_DIR) $(PERL_SITE)/$(PERL_SOURCE)
perl-source: $(DL_DIR)/$(PERL_SOURCE)
$(PERL_DIR)/.unpacked: $(DL_DIR)/$(PERL_SOURCE)
$(PERL_CAT) $(DL_DIR)/$(PERL_SOURCE) | tar -C $(BUILD_DIR) -xvf -
$(PERL_CAT) $(PERL_SOURCE_2) | tar -C $(PERL_DIR) -xvf -
cat $(PERL_PATCH) | patch -p1 -d $(PERL_DIR)
sed -ie "s,^ARCH.*,ARCH=$(ARCH)," $(PERL_DIR)/cross/config
sed -ie "s,^CONFIG_TARGET_.*,\#," $(PERL_DIR)/cross/config
sed -ie "s,^export CROSS=.*,export CROSS=$(TARGET_CROSS)," $(PERL_DIR)/cross/Makefile
sed -ie "s,TARGET_ARCH,$(ARCH)," $(PERL_DIR)/cross/config.sh.uclibc
sed -ie "s,TARGET_CROSS,$(TARGET_CROSS)," $(PERL_DIR)/cross/config.sh.uclibc
touch $(PERL_DIR)/.unpacked
$(PERL_DIR)/.configured: $(PERL_DIR)/.unpacked
$(MAKE) CC=$(TARGET_CC) -C $(PERL_DIR)/cross patch
touch $(PERL_DIR)/.configured
$(PERL_DIR)/$(PERL_BINARY): $(PERL_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(PERL_DIR)/cross perl
$(TARGET_DIR)/$(PERL_TARGET_BINARY): $(PERL_DIR)/$(PERL_BINARY)
rm -f $(PERL_DIR)/install_me_here/usr/lib/perl/5.8.0/*-linux/.packlist
rm -f $(PERL_DIR)/install_me_here/usr/lib/perl/5.8.0/ExtUtils/MANIFEST.SKIP
rm -f $(PERL_DIR)/install_me_here/usr/lib/perl/5.8.0/unicore/Makefile
rm -rf $(TARGET_DIR)/usr/lib/perl
-$(STRIP) $(PERL_DIR)/install_me_here/usr/bin/a2p
-$(STRIP) $(PERL_DIR)/install_me_here/usr/bin/perl
rm -f $(PERL_DIR)/install_me_here/usr/bin/perl5.8.0
(cd $(PERL_DIR)/install_me_here/usr/bin; ln -sf perl perl5.8.0)
cp -fa $(PERL_DIR)/install_me_here/* $(TARGET_DIR)/
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
perl: uclibc $(TARGET_DIR)/$(PERL_TARGET_BINARY)
perl-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(PERL_DIR) uninstall
-$(MAKE) -C $(PERL_DIR) clean
perl-dirclean:
rm -rf $(PERL_DIR)