| ############################################################# |
| # |
| # file |
| # |
| ############################################################# |
| FILE_VERSION:=4.26 |
| FILE_SOURCE:=file-$(FILE_VERSION).tar.gz |
| FILE_SITE:=ftp://ftp.astron.com/pub/file/ |
| FILE_SOURCE_DIR:=$(BUILD_DIR)/file-$(FILE_VERSION) |
| FILE_DIR1:=$(TOOL_BUILD_DIR)/file-$(FILE_VERSION)-host |
| FILE_DIR2:=$(BUILD_DIR)/file-$(FILE_VERSION)-target |
| FILE_CAT:=$(ZCAT) |
| FILE_BINARY:=src/file |
| FILE_TARGET_BINARY:=usr/bin/file |
| |
| $(DL_DIR)/$(FILE_SOURCE): |
| $(call DOWNLOAD,$(FILE_SITE),$(FILE_SOURCE)) |
| |
| file-source: $(DL_DIR)/$(FILE_SOURCE) |
| |
| |
| ############################################################# |
| # |
| # build file for use on the host system |
| # |
| ############################################################# |
| $(FILE_DIR1)/.configured: $(FILE_SOURCE_DIR)/.unpacked |
| mkdir -p $(FILE_DIR1) |
| (cd $(FILE_DIR1); rm -rf config.cache; \ |
| CC="$(HOSTCC)" \ |
| $(FILE_SOURCE_DIR)/configure \ |
| --prefix=$(FILE_DIR1)/install \ |
| ) |
| touch $@ |
| |
| $(TOOL_BUILD_DIR)/bin/file: $(FILE_DIR1)/.configured |
| $(MAKE) -C $(FILE_DIR1) install |
| ln -sf $(FILE_DIR1)/install/bin/file $(TOOL_BUILD_DIR)/bin/file |
| |
| host-file: $(TOOL_BUILD_DIR)/bin/file |
| |
| host-file-clean: |
| -$(MAKE) -C $(FILE_DIR1) clean |
| |
| host-file-dirclean: |
| rm -rf $(FILE_DIR1) |
| |
| ############################################################# |
| # |
| # build file for use on the target system |
| # |
| ############################################################# |
| file-unpacked: $(FILE_SOURCE_DIR)/.unpacked |
| $(FILE_SOURCE_DIR)/.unpacked: $(DL_DIR)/$(FILE_SOURCE) |
| $(FILE_CAT) $(DL_DIR)/$(FILE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - |
| toolchain/patch-kernel.sh $(FILE_SOURCE_DIR) package/file/ file\*.patch |
| $(CONFIG_UPDATE) $(FILE_SOURCE_DIR) |
| touch $@ |
| |
| $(FILE_DIR2)/.configured: $(FILE_SOURCE_DIR)/.unpacked |
| mkdir -p $(FILE_DIR2) |
| (cd $(FILE_DIR2); rm -rf config.cache; \ |
| $(TARGET_CONFIGURE_OPTS) \ |
| $(TARGET_CONFIGURE_ARGS) \ |
| $(FILE_SOURCE_DIR)/configure \ |
| --target=$(GNU_TARGET_NAME) \ |
| --host=$(GNU_TARGET_NAME) \ |
| --build=$(GNU_HOST_NAME) \ |
| --prefix=/usr \ |
| --exec-prefix=/usr \ |
| --bindir=/usr/bin \ |
| --sbindir=/usr/sbin \ |
| --libdir=/lib \ |
| --libexecdir=/usr/lib \ |
| --sysconfdir=/etc \ |
| --datadir=/usr/share/misc \ |
| --localstatedir=/var \ |
| --mandir=/usr/share/man \ |
| --infodir=/usr/share/info \ |
| $(DISABLE_NLS) \ |
| $(DISABLE_LARGEFILE) \ |
| --enable-static \ |
| --disable-fsect-man5 \ |
| ) |
| touch $@ |
| |
| $(FILE_DIR2)/$(FILE_BINARY): $(FILE_DIR2)/.configured $(TOOL_BUILD_DIR)/bin/file |
| ln -sf $(FILE_DIR1)/install/bin/file $(FILE_DIR2)/magic/file |
| $(MAKE) $(TARGET_CONFIGURE_OPTS) LDFLAGS="-static" -C $(FILE_DIR2) |
| |
| $(TARGET_DIR)/$(FILE_TARGET_BINARY): $(FILE_DIR2)/$(FILE_BINARY) |
| $(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(FILE_DIR2) install |
| -($(STRIPCMD) $(TARGET_DIR)/usr/lib/libmagic.so.*.* > /dev/null 2>&1) |
| ifneq ($(BR2_HAVE_INFOPAGES),y) |
| rm -rf $(TARGET_DIR)/usr/share/info |
| endif |
| ifneq ($(BR2_HAVE_MANPAGES),y) |
| rm -rf $(TARGET_DIR)/usr/share/man |
| endif |
| rm -rf $(TARGET_DIR)/share/locale |
| rm -rf $(TARGET_DIR)/usr/share/doc |
| mv $(TARGET_DIR)/lib/libmagic.a $(STAGING_DIR)/lib |
| rm -f $(TARGET_DIR)/lib/libmagic.la |
| mv $(TARGET_DIR)/usr/include/magic.h $(STAGING_DIR)/usr/include |
| |
| file: zlib uclibc $(TARGET_DIR)/$(FILE_TARGET_BINARY) |
| |
| file-clean: |
| -$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FILE_DIR2) uninstall |
| -$(MAKE) -C $(FILE_DIR2) clean |
| |
| file-dirclean: |
| rm -rf $(FILE_DIR2) |
| |
| ############################################################# |
| # |
| # Toplevel Makefile options |
| # |
| ############################################################# |
| ifeq ($(BR2_PACKAGE_FILE),y) |
| TARGETS+=file |
| endif |