121 lines
3.9 KiB
Makefile
121 lines
3.9 KiB
Makefile
#############################################################
|
|
#
|
|
# bzip2
|
|
#
|
|
#############################################################
|
|
BZIP2_VERSION:=1.0.4
|
|
BZIP2_SOURCE:=bzip2-$(BZIP2_VERSION).tar.gz
|
|
BZIP2_SITE:=http://www.bzip.org/$(BZIP2_VERSION)
|
|
BZIP2_DIR:=$(BUILD_DIR)/bzip2-$(BZIP2_VERSION)
|
|
BZIP2_CAT:=$(ZCAT)
|
|
BZIP2_BINARY:=$(BZIP2_DIR)/bzip2
|
|
BZIP2_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/bzmore
|
|
|
|
$(DL_DIR)/$(BZIP2_SOURCE):
|
|
$(call DOWNLOAD,$(BZIP2_SITE),$(BZIP2_SOURCE))
|
|
|
|
bzip2-source: $(DL_DIR)/$(BZIP2_SOURCE)
|
|
|
|
$(BZIP2_DIR)/.unpacked: $(DL_DIR)/$(BZIP2_SOURCE)
|
|
$(BZIP2_CAT) $(DL_DIR)/$(BZIP2_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
|
$(SED) "s,ln \$$(,ln -snf \$$(,g" $(BZIP2_DIR)/Makefile
|
|
$(SED) "s,ln -s (lib.*),ln -snf \$$1; ln -snf libbz2.so.$(BZIP2_VERSION) \
|
|
libbz2.so,g" $(BZIP2_DIR)/Makefile-libbz2_so
|
|
ifneq ($(BR2_LARGEFILE),y)
|
|
$(SED) "s,^BIGFILES,#BIGFILES,g" $(BZIP2_DIR)/Makefile
|
|
$(SED) "s,^BIGFILES,#BIGFILES,g" $(BZIP2_DIR)/Makefile-libbz2_so
|
|
endif
|
|
$(SED) "s:-O2:$(TARGET_CFLAGS):" $(BZIP2_DIR)/Makefile
|
|
$(SED) "s:-O2:$(TARGET_CFLAGS):" $(BZIP2_DIR)/Makefile-libbz2_so
|
|
touch $@
|
|
|
|
$(STAGING_DIR)/usr/lib/libbz2.so.$(BZIP2_VERSION): $(BZIP2_DIR)/.unpacked
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
$(MAKE) CC=$(TARGET_CC) RANLIB=$(TARGET_RANLIB) AR=$(TARGET_AR) \
|
|
-C $(BZIP2_DIR) -f Makefile-libbz2_so
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
$(MAKE) CC=$(TARGET_CC) RANLIB=$(TARGET_RANLIB) AR=$(TARGET_AR) \
|
|
-C $(BZIP2_DIR) libbz2.a
|
|
cp $(BZIP2_DIR)/bzlib.h $(STAGING_DIR)/usr/include/
|
|
cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VERSION) $(STAGING_DIR)/usr/lib/
|
|
cp $(BZIP2_DIR)/libbz2.a $(STAGING_DIR)/usr/lib/
|
|
(cd $(STAGING_DIR)/usr/lib/; \
|
|
ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
|
|
)
|
|
(cd $(STAGING_DIR)/usr/lib; \
|
|
ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
|
|
ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1; \
|
|
)
|
|
|
|
$(BZIP2_BINARY): $(STAGING_DIR)/usr/lib/libbz2.so.$(BZIP2_VERSION)
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
$(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) bzip2 bzip2recover
|
|
touch -c $@
|
|
|
|
$(BZIP2_TARGET_BINARY): $(BZIP2_BINARY)
|
|
(cd $(TARGET_DIR)/usr/bin; \
|
|
rm -f bzip2 bunzip2 bzcat bzip2recover \
|
|
bzgrep bzegrep bzfgrep bzmore bzless bzdiff bzcmp; \
|
|
)
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
$(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(BZIP2_DIR) install
|
|
rm -f $(TARGET_DIR)/usr/lib/libbz2.a
|
|
rm -f $(TARGET_DIR)/usr/include/bzlib.h
|
|
cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VERSION) $(TARGET_DIR)/usr/lib/
|
|
(cd $(TARGET_DIR)/usr/lib; \
|
|
ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
|
|
ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
|
|
)
|
|
(cd $(TARGET_DIR)/usr/bin; \
|
|
ln -snf bzip2 bunzip2; \
|
|
ln -snf bzip2 bzcat; \
|
|
ln -snf bzdiff bzcmp; \
|
|
ln -snf bzmore bzless; \
|
|
ln -snf bzgrep bzegrep; \
|
|
ln -snf bzgrep bzfgrep; \
|
|
)
|
|
ifneq ($(BR2_HAVE_INFOPAGES),y)
|
|
rm -rf $(TARGET_DIR)/usr/info
|
|
endif
|
|
ifneq ($(BR2_HAVE_MANPAGES),y)
|
|
rm -rf $(TARGET_DIR)/usr/man
|
|
endif
|
|
rm -rf $(TARGET_DIR)/share/locale
|
|
rm -rf $(TARGET_DIR)/usr/share/doc
|
|
|
|
$(TARGET_DIR)/usr/lib/libbz2.a: $(STAGING_DIR)/usr/lib/libbz2.a
|
|
mkdir -p $(TARGET_DIR)/usr/include
|
|
cp $(STAGING_DIR)/usr/include/bzlib.h $(TARGET_DIR)/usr/include/
|
|
cp $(STAGING_DIR)/usr/lib/libbz2.a $(TARGET_DIR)/usr/lib/
|
|
rm -f $(TARGET_DIR)/lib/libbz2.so
|
|
(cd $(TARGET_DIR)/usr/lib; \
|
|
ln -fs /usr/lib/libbz2.so.1.0 libbz2.so; \
|
|
)
|
|
-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libbz2.so.1.0
|
|
touch -c $@
|
|
|
|
bzip2-headers: $(TARGET_DIR)/usr/lib/libbz2.a
|
|
|
|
bzip2: uclibc $(BZIP2_TARGET_BINARY)
|
|
|
|
bzip2-clean:
|
|
rm -f $(addprefix $(TARGET_DIR),/lib/libbz2.* \
|
|
/usr/lib/libbz2.* \
|
|
/usr/include/bzlib.h)
|
|
rm -f $(addprefix $(STAGING_DIR),/lib/libbz2.* \
|
|
/usr/lib/libbz2.* \
|
|
/usr/include/bzlib.h)
|
|
-$(MAKE) -C $(BZIP2_DIR) clean
|
|
|
|
bzip2-dirclean:
|
|
rm -rf $(BZIP2_DIR)
|
|
|
|
#############################################################
|
|
#
|
|
# Toplevel Makefile options
|
|
#
|
|
#############################################################
|
|
ifeq ($(BR2_PACKAGE_BZIP2),y)
|
|
TARGETS+=bzip2
|
|
endif
|