use $(TARGET_CFLAGS)
[buildroot.git] / package / bzip2 / bzip2.mk
1 #############################################################
2 #
3 # bzip2
4 #
5 #############################################################
6 BZIP2_SOURCE:=bzip2-1.0.2.tar.gz
7 BZIP2_SITE:=ftp://sources.redhat.com/pub/bzip2/v102
8 BZIP2_DIR:=$(BUILD_DIR)/bzip2-1.0.2
9 BZIP2_CAT:=zcat
10 BZIP2_BINARY:=$(BZIP2_DIR)/bzip2
11 BZIP2_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/bzmore
12
13 $(DL_DIR)/$(BZIP2_SOURCE):
14 $(WGET) -P $(DL_DIR) $(BZIP2_SITE)/$(BZIP2_SOURCE)
15
16 bzip2-source: $(DL_DIR)/$(BZIP2_SOURCE)
17
18 $(BZIP2_DIR)/.unpacked: $(DL_DIR)/$(BZIP2_SOURCE)
19 $(BZIP2_CAT) $(DL_DIR)/$(BZIP2_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
20 $(SED) "s,ln \$$(,ln -sf \$$(,g" $(BZIP2_DIR)/Makefile
21 $(SED) "s,ln -s (lib.*),ln -sf \$$1 ; ln -sf libbz2.so.1.0.2 libbz2.so,g" \
22 $(BZIP2_DIR)/Makefile-libbz2_so
23 ifeq ($(BR2_LARGEFILE),y)
24 $(SED) "s,^BIGFILES,#BIGFILES,g" $(BZIP2_DIR)/Makefile
25 $(SED) "s,^BIGFILES,#BIGFILES,g" $(BZIP2_DIR)/Makefile-libbz2_so
26 endif
27 $(SED) "s:-O2:$(TARGET_CFLAGS):" $(BZIP2_DIR)/Makefile
28 $(SED) "s:-O2:$(TARGET_CFLAGS):" $(BZIP2_DIR)/Makefile-libbz2_so
29 touch $(BZIP2_DIR)/.unpacked
30
31 $(STAGING_DIR)/lib/libbz2.so.1.0.2: $(BZIP2_DIR)/.unpacked
32 $(TARGET_CONFIGURE_OPTS) \
33 $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) -f Makefile-libbz2_so
34 $(TARGET_CONFIGURE_OPTS) \
35 $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) libbz2.a
36 cp $(BZIP2_DIR)/bzlib.h $(STAGING_DIR)/include/
37 cp $(BZIP2_DIR)/libbz2.so.1.0.2 $(STAGING_DIR)/lib/
38 cp $(BZIP2_DIR)/libbz2.a $(STAGING_DIR)/lib/
39 (cd $(STAGING_DIR)/lib/; ln -sf libbz2.so.1.0.2 libbz2.so)
40 (cd $(STAGING_DIR)/lib/; ln -sf libbz2.so.1.0.2 libbz2.so.1.0)
41
42 $(BZIP2_BINARY): $(STAGING_DIR)/lib/libbz2.so.1.0.2
43 $(TARGET_CONFIGURE_OPTS) \
44 $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) bzip2 bzip2recover
45
46 $(BZIP2_TARGET_BINARY): $(BZIP2_BINARY)
47 (cd $(TARGET_DIR)/usr/bin; \
48 rm -f bzip2 bunzip2 bzcat bzip2recover bzgrep bzegrep bzfgrep bzmore bzless bzdiff bzcmp);
49 $(TARGET_CONFIGURE_OPTS) \
50 $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(BZIP2_DIR) install
51 rm -f $(TARGET_DIR)/usr/lib/libbz2.a
52 rm -f $(TARGET_DIR)/usr/include/bzlib.h
53 cp $(BZIP2_DIR)/libbz2.so.1.0.2 $(TARGET_DIR)/usr/lib/
54 (cd $(TARGET_DIR)/usr/lib; \
55 ln -sf libbz2.so.1.0.2 libbz2.so.1.0; \
56 ln -sf libbz2.so.1.0.2 libbz2.so)
57 (cd $(TARGET_DIR)/usr/bin; \
58 ln -sf bzip2 bunzip2; \
59 ln -sf bzip2 bzcat; \
60 ln -sf bzdiff bzcmp; \
61 ln -sf bzmore bzless; \
62 ln -sf bzgrep bzegrep; \
63 ln -sf bzgrep bzfgrep;)
64 rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
65 $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
66
67 $(TARGET_DIR)/usr/lib/libbz2.a: $(STAGING_DIR)/lib/libbz2.a
68 mkdir -p $(TARGET_DIR)/usr/include
69 cp $(STAGING_DIR)/include/bzlib.h $(TARGET_DIR)/usr/include/
70 cp $(STAGING_DIR)/lib/libbz2.a $(TARGET_DIR)/usr/lib/
71 rm -f $(TARGET_DIR)/lib/libbz2.so
72 (cd $(TARGET_DIR)/usr/lib; \
73 ln -fs /usr/lib/libbz2.so.1.0 libbz2.so; \
74 )
75 -$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libbz2.so.1.0
76 touch -c $(TARGET_DIR)/usr/lib/libbz2.a
77
78 bzip2-headers: $(TARGET_DIR)/usr/lib/libbz2.a
79
80 bzip2: uclibc $(BZIP2_TARGET_BINARY)
81
82 bzip2-clean:
83 $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BZIP2_DIR) uninstall
84 -$(MAKE) -C $(BZIP2_DIR) clean
85
86 bzip2-dirclean:
87 rm -rf $(BZIP2_DIR)
88