fix stamp file
[buildroot.git] / package / bzip2 / bzip2.mk
blobd69f9730ad0772ed0c4e4ed8cde92fe3b79257e3
1 #############################################################
3 # bzip2
5 #############################################################
6 BZIP2_VERSION:=1.0.5
7 BZIP2_SOURCE:=bzip2-$(BZIP2_VERSION).tar.gz
8 BZIP2_SITE:=http://www.bzip.org/$(BZIP2_VERSION)
9 BZIP2_DIR:=$(BUILD_DIR)/bzip2-$(BZIP2_VERSION)
10 BZIP2_CAT:=$(ZCAT)
11 BZIP2_BINARY:=$(BZIP2_DIR)/bzip2
12 BZIP2_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/bzmore
14 $(DL_DIR)/$(BZIP2_SOURCE):
15 $(WGET) -P $(DL_DIR) $(BZIP2_SITE)/$(BZIP2_SOURCE)
17 $(BZIP2_DIR)/.unpacked: $(DL_DIR)/$(BZIP2_SOURCE)
18 $(BZIP2_CAT) $(DL_DIR)/$(BZIP2_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
19 $(SED) "s,ln \$$(,ln -snf \$$(,g" $(BZIP2_DIR)/Makefile
20 $(SED) "s,ln -s (lib.*),ln -snf \$$1; ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so,g" $(BZIP2_DIR)/Makefile-libbz2_so
21 toolchain/patch-kernel.sh $(BZIP2_DIR) package/bzip2/ \*$(BZIP2_VERSION)\*.patch
22 $(SED) 's:-O2:$$(TARGET_CFLAGS):' $(BZIP2_DIR)/Makefile
23 $(SED) 's:-O2:$$(TARGET_CFLAGS):' $(BZIP2_DIR)/Makefile-libbz2_so
24 touch $@
26 $(BZIP2_DIR)/.configured: $(BZIP2_DIR)/.unpacked \
27 $(wildcard $(BR2_DEPENDS_DIR)/br2/largefile.*) \
28 $(wildcard $(BR2_DEPENDS_DIR)/br2/target/optimization.*)
29 ifeq ($(BR2_LARGEFILE),y)
30 $(SED) "s,^BIGFILES.*,BIGFILES=-D_FILE_OFFSET_BITS=64,g" $(BZIP2_DIR)/Makefile
31 $(SED) "s,^BIGFILES.*,BIGFILES=-D_FILE_OFFSET_BITS=64,g" $(BZIP2_DIR)/Makefile-libbz2_so
32 else
33 $(SED) "s,^BIGFILES.*,#BIGFILES=-D_FILE_OFFSET_BITS=64,g" $(BZIP2_DIR)/Makefile
34 $(SED) "s,^BIGFILES.*,#BIGFILES=-D_FILE_OFFSET_BITS=64,g" $(BZIP2_DIR)/Makefile-libbz2_so
35 endif
36 touch $@
38 $(STAGING_DIR)/lib/libbz2.so.$(BZIP2_VERSION): $(BZIP2_DIR)/.configured
39 $(MAKE) CC="$(TARGET_CC)" TARGET_CFLAGS="$(TARGET_CFLAGS)" \
40 -C $(BZIP2_DIR) -f Makefile-libbz2_so
41 $(MAKE) CC="$(TARGET_CC)" AR="$(TARGET_AR)" RANLIB="$(TARGET_RANLIB)" \
42 LDFLAGS="$(TARGET_LDFLAGS)" TARGET_CFLAGS="$(TARGET_CFLAGS)" \
43 -C $(BZIP2_DIR) libbz2.a
44 cp $(BZIP2_DIR)/bzlib.h $(STAGING_DIR)/usr/include/
45 cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VERSION) $(STAGING_DIR)/lib/
46 cp $(BZIP2_DIR)/libbz2.a $(STAGING_DIR)/usr/lib/
47 (cd $(STAGING_DIR)/usr/lib/; \
48 ln -snf ../../lib/libbz2.so.$(BZIP2_VERSION) libbz2.so; \
50 (cd $(STAGING_DIR)/lib; \
51 ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
52 ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1; \
54 touch -c $@
56 $(BZIP2_BINARY): $(STAGING_DIR)/lib/libbz2.so.$(BZIP2_VERSION)
57 $(MAKE) CC="$(TARGET_CC)" AR="$(TARGET_AR)" RANLIB="$(TARGET_RANLIB)" \
58 LDFLAGS="$(TARGET_LDFLAGS)" TARGET_CFLAGS="$(TARGET_CFLAGS)" \
59 -C $(BZIP2_DIR) bzip2 bzip2recover
60 touch -c $@
62 $(BZIP2_TARGET_BINARY): $(BZIP2_BINARY)
63 (cd $(TARGET_DIR)/usr/bin; \
64 rm -f bzip2 bunzip2 bzcat bzip2recover \
65 bzgrep bzegrep bzfgrep bzmore bzless bzdiff bzcmp; \
67 $(TARGET_CONFIGURE_OPTS) \
68 $(MAKE) PREFIX="$(TARGET_DIR)/usr" -C $(BZIP2_DIR) install
69 rm -f $(TARGET_DIR)/usr/lib/libbz2.a
70 ifneq ($(BR2_HAVE_INCLUDES),y)
71 rm -f $(TARGET_DIR)/usr/include/bzlib.h
72 endif
73 cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VERSION) $(TARGET_DIR)/usr/lib/
74 (cd $(TARGET_DIR)/usr/lib; \
75 ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
76 ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
78 rm -f $(TARGET_DIR)/usr/bin/bzip2
79 cp -dpf $(BZIP2_DIR)/bzip2-shared $(TARGET_DIR)/usr/bin/bzip2
80 (cd $(TARGET_DIR)/usr/bin; \
81 ln -snf bzip2 bunzip2; \
82 ln -snf bzip2 bzcat; \
83 ln -snf bzdiff bzcmp; \
84 ln -snf bzmore bzless; \
85 ln -snf bzgrep bzegrep; \
86 ln -snf bzgrep bzfgrep; \
88 ifneq ($(BR2_HAVE_INFOPAGES),y)
89 rm -rf $(TARGET_DIR)/usr/info
90 endif
91 ifneq ($(BR2_HAVE_MANPAGES),y)
92 rm -rf $(TARGET_DIR)/usr/man
93 endif
94 rm -rf $(TARGET_DIR)/share/locale
95 rm -rf $(TARGET_DIR)/usr/share/doc
96 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libbz2.so.$(BZIP2_VERSION)
97 $(STRIPCMD) $(STRIP_STRIP_ALL) $(addprefix $(TARGET_DIR)/usr/bin/, bzip2 bzip2recover)
99 $(TARGET_DIR)/usr/lib/libbz2.a: $(STAGING_DIR)/lib/libbz2.a
100 mkdir -p $(TARGET_DIR)/usr/include
101 cp $(STAGING_DIR)/usr/include/bzlib.h $(TARGET_DIR)/usr/include/
102 cp $(STAGING_DIR)/lib/libbz2.a $(TARGET_DIR)/usr/lib/
103 rm -f $(TARGET_DIR)/lib/libbz2.so
104 (cd $(TARGET_DIR)/usr/lib; \
105 ln -fs /usr/lib/libbz2.so.1.0 libbz2.so; \
107 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libbz2.so.1.0
108 touch -c $@
110 bzip2-headers: $(TARGET_DIR)/usr/lib/libbz2.a
112 bzip2: uclibc $(BZIP2_TARGET_BINARY)
114 bzip2-source: $(DL_DIR)/$(BZIP2_SOURCE)
116 bzip2-clean:
117 rm -f $(wildcard $(addprefix $(TARGET_DIR),/lib/libbz2.* \
118 /usr/lib/libbz2.* \
119 /usr/include/bzlib.h))
120 rm -f $(wildcard $(addprefix $(STAGING_DIR),/lib/libbz2.* \
121 /usr/lib/libbz2.* \
122 /usr/include/bzlib.h))
123 -$(MAKE) -C $(BZIP2_DIR) clean
125 bzip2-dirclean:
126 rm -rf $(BZIP2_DIR)
128 #############################################################
130 # Toplevel Makefile options
132 #############################################################
133 ifeq ($(BR2_PACKAGE_BZIP2),y)
134 TARGETS+=bzip2
135 endif