5500fec87a40ef821327a20b205b7edb1a073632
[openwrt/svn-archive/archive.git] / obsolete-buildroot / make / zlib.mk
1 #############################################################
2 #
3 # zlib
4 #
5 #############################################################
6 ZLIB_SOURCE=zlib-1.1.4.tar.bz2
7 ZLIB_SITE=http://aleron.dl.sourceforge.net/sourceforge/libpng
8 ZLIB_DIR=$(BUILD_DIR)/zlib-1.1.4
9 ZLIB_CFLAGS= $(TARGET_CFLAGS) -fPIC
10 ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
11 ZLIB_CFLAGS+= -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
12 endif
13
14 ZLIB_IPK_DIR=$(BUILD_DIR)/zlib-1.1.4-ipk
15 ZLIB_IPK=$(BUILD_DIR)/zlib_1.1.4-1_mipsel.ipk
16
17 $(DL_DIR)/$(ZLIB_SOURCE):
18 $(WGET) -P $(DL_DIR) $(ZLIB_SITE)/$(ZLIB_SOURCE)
19
20 $(ZLIB_DIR)/.source: $(DL_DIR)/$(ZLIB_SOURCE)
21 bzcat $(DL_DIR)/$(ZLIB_SOURCE) | tar -C $(BUILD_DIR) -xvf -
22 touch $(ZLIB_DIR)/.source
23
24 $(ZLIB_DIR)/.configured: $(ZLIB_DIR)/.source
25 (cd $(ZLIB_DIR); \
26 ./configure \
27 --shared \
28 --prefix=/usr \
29 --exec-prefix=$(STAGING_DIR)/usr/bin \
30 --libdir=$(STAGING_DIR)/lib \
31 --includedir=$(STAGING_DIR)/include \
32 );
33 touch $(ZLIB_DIR)/.configured;
34
35 $(ZLIB_DIR)/libz.so.1.1.4: $(ZLIB_DIR)/.configured
36 $(MAKE) LDSHARED="$(TARGET_CROSS)ld -shared -soname,libz.so.1" \
37 CFLAGS="$(ZLIB_CFLAGS)" CC=$(TARGET_CC) -C $(ZLIB_DIR) all libz.a;
38 touch -c $(ZLIB_DIR)/libz.so.1.1.4
39
40 $(STAGING_DIR)/lib/libz.so.1.1.4: $(ZLIB_DIR)/libz.so.1.1.4
41 cp -dpf $(ZLIB_DIR)/libz.a $(STAGING_DIR)/lib;
42 cp -dpf $(ZLIB_DIR)/zlib.h $(STAGING_DIR)/include;
43 cp -dpf $(ZLIB_DIR)/zconf.h $(STAGING_DIR)/include;
44 cp -dpf $(ZLIB_DIR)/libz.so* $(STAGING_DIR)/lib;
45 (cd $(STAGING_DIR)/lib; ln -fs libz.so.1.1.4 libz.so.1);
46 chmod a-x $(STAGING_DIR)/lib/libz.so.1.1.4
47 touch -c $(STAGING_DIR)/lib/libz.so.1.1.4
48
49 $(TARGET_DIR)/lib/libz.so.1.1.4: $(STAGING_DIR)/lib/libz.so.1.1.4
50 cp -dpf $(STAGING_DIR)/lib/libz.so* $(TARGET_DIR)/lib;
51 -$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libz.so*
52 touch -c $(TARGET_DIR)/lib/libz.so.1.1.4
53
54 $(TARGET_DIR)/usr/lib/libz.a: $(STAGING_DIR)/lib/libz.so.1.1.4
55 mkdir -p $(TARGET_DIR)/usr/include
56 cp -dpf $(STAGING_DIR)/include/zlib.h $(TARGET_DIR)/usr/include/
57 cp -dpf $(STAGING_DIR)/include/zconf.h $(TARGET_DIR)/usr/include/
58 cp -dpf $(STAGING_DIR)/lib/libz.a $(TARGET_DIR)/usr/lib/
59 rm -f $(TARGET_DIR)/lib/libz.so
60 (cd $(TARGET_DIR)/usr/lib; ln -fs /lib/libz.so.1.1.4 libz.so)
61 touch -c $(TARGET_DIR)/usr/lib/libz.a
62
63 zlib-headers: $(TARGET_DIR)/usr/lib/libz.a
64
65 zlib: uclibc $(TARGET_DIR)/lib/libz.so.1.1.4
66
67 $(ZLIB_IPK): uclibc $(STAGING_DIR)/lib/libz.so.1.1.4
68 mkdir -p $(ZLIB_IPK_DIR)/CONTROL
69 cp $(SOURCE_DIR)/zlib.control $(ZLIB_IPK_DIR)/CONTROL/control
70 mkdir -p $(ZLIB_IPK_DIR)/lib
71 cp -dpf $(STAGING_DIR)/lib/libz.so* $(ZLIB_IPK_DIR)/lib;
72 -$(STRIP) --strip-unneeded $(ZLIB_IPK_DIR)/lib/libz.so*
73 touch -c $(ZLIB_IPK_DIR)/lib/libz.so.1.1.4
74 cd $(BUILD_DIR); $(STAGING_DIR)/bin/ipkg-build -c -o root -g root $(ZLIB_IPK_DIR)
75
76 zlib-ipk: $(ZLIB_IPK)
77
78 zlib-source: $(DL_DIR)/$(ZLIB_SOURCE)
79
80 zlib-clean:
81 rm -f $(TARGET_DIR)/lib/libz.so*
82 -$(MAKE) -C $(ZLIB_DIR) clean
83
84 zlib-dirclean:
85 rm -rf $(ZLIB_DIR)
86