kumquat-buildroot/make/tar.mk
Eric Andersen 1c6aad3440 work around deficiencies in GNU tar that prevented several
items from actually being installed
2003-03-06 18:24:00 +00:00

64 lines
1.8 KiB
Makefile

#############################################################
#
# tar
#
#############################################################
GNUTAR_SOURCE:=tar-1.13.25.tar.gz
GNUTAR_SITE:=ftp://alpha.gnu.org/gnu/tar
GNUTAR_DIR:=$(BUILD_DIR)/tar-1.13.25
GNUTAR_CAT:=zcat
GNUTAR_BINARY:=src/tar
GNUTAR_TARGET_BINARY:=bin/tar
$(DL_DIR)/$(GNUTAR_SOURCE):
$(WGET) -P $(DL_DIR) $(GNUTAR_SITE)/$(GNUTAR_SOURCE)
tar-source: $(DL_DIR)/$(GNUTAR_SOURCE)
$(GNUTAR_DIR)/.unpacked: $(DL_DIR)/$(GNUTAR_SOURCE)
$(GNUTAR_CAT) $(DL_DIR)/$(GNUTAR_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(GNUTAR_DIR)/.unpacked
$(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked
(cd $(GNUTAR_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--disable-nls \
);
touch $(GNUTAR_DIR)/.configured
$(GNUTAR_DIR)/$(GNUTAR_BINARY): $(GNUTAR_DIR)/.configured
$(MAKE) -C $(GNUTAR_DIR)
# This stuff is needed to work around GNU make deficiencies
tar-target_binary: $(GNUTAR_DIR)/$(GNUTAR_BINARY)
@if [ -L $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) ] ; then \
rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); fi;
@if [ $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) -ot $(GNUTAR_DIR)/$(GNUTAR_BINARY) ] ; then \
set -x; \
rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); \
cp -a $(GNUTAR_DIR)/$(GNUTAR_BINARY) $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); fi ;
tar: uclibc tar-target_binary
tar-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GNUTAR_DIR) uninstall
-$(MAKE) -C $(GNUTAR_DIR) clean
tar-dirclean:
rm -rf $(GNUTAR_DIR)