12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #############################################################
- #
- # coreutils
- #
- #############################################################
- COREUTILS_SOURCE:=coreutils-4.5.6.tar.bz2
- COREUTILS_SITE:=ftp://alpha.gnu.org/gnu/coreutils/
- COREUTILS_CAT:=bzcat
- COREUTILS_DIR:=$(BUILD_DIR)/coreutils-4.5.6
- COREUTILS_BINARY:=src/cat
- COREUTILS_TARGET_BINARY:=bin/cat
- BIN_PROGS:=cat chgrp chmod chown cp date dd df dir echo false ln ls mkdir \
- mknod mv pwd rm rmdir vdir sleep stty sync touch true uname
- $(DL_DIR)/$(COREUTILS_SOURCE):
- $(WGET) -P $(DL_DIR) $(COREUTILS_SITE)/$(COREUTILS_SOURCE)
- coreutils-source: $(DL_DIR)/$(COREUTILS_SOURCE)
- $(COREUTILS_DIR)/.unpacked: $(DL_DIR)/$(COREUTILS_SOURCE)
- $(COREUTILS_CAT) $(DL_DIR)/$(COREUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
- touch $(COREUTILS_DIR)/.unpacked
- $(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked
- (cd $(COREUTILS_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 \
- );
- #Fix up the max number of open files per process, which apparently
- # is not set when cross compiling
- perl -i -p -e 's,.*UTILS_OPEN_MAX.*,#define UTILS_OPEN_MAX 1019,g' \
- $(COREUTILS_DIR)/config.h
- touch $(COREUTILS_DIR)/.configured
- $(COREUTILS_DIR)/$(COREUTILS_BINARY): $(COREUTILS_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(COREUTILS_DIR)
- $(TARGET_DIR)/$(COREUTILS_TARGET_BINARY): $(COREUTILS_DIR)/$(COREUTILS_BINARY)
- $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(COREUTILS_DIR) install
- # some things go in root rather than usr
- for f in $(BIN_PROGS); do \
- mv $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f; \
- done
- # link for archaic shells
- ln -fs test $(TARGET_DIR)/usr/bin/[
- # gnu thinks chroot is in bin, debian thinks it's in sbin
- mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
- rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
- $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
- coreutils: uclibc $(TARGET_DIR)/$(COREUTILS_TARGET_BINARY)
- coreutils-clean:
- $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(COREUTILS_DIR) uninstall
- -$(MAKE) -C $(COREUTILS_DIR) clean
- coreutils-dirclean:
- rm -rf $(COREUTILS_DIR)
|