don't fail if BR2_USE_UPDATES tries to update non-checkout
[buildroot.git] / package / zlib / zlib.mk
blob36ec3cbde0700f79000784d95184acad26422693
1 #############################################################
3 # zlib
5 #############################################################
6 ZLIB_VERSION:=1.2.3
7 ZLIB_SOURCE:=zlib-$(ZLIB_VERSION).tar.bz2
8 ZLIB_CAT:=$(BZCAT)
9 ZLIB_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libpng
10 ZLIB_DIR:=$(BUILD_DIR)/zlib-$(ZLIB_VERSION)
12 ZLIB_CFLAGS=$(TARGET_CFLAGS) -UDEBUG -DNDEBUG
13 #ifeq ($(BR2_USE_MMU),y)
14 #ZLIB_CFLAGS+= -DUSE_MMAP
15 #endif
16 ifeq ($(BR2_ENABLE_SHARED),y)
17 ZLIB_CFLAGS+=-fPIC -DPIC
18 endif
19 ifeq ($(BR2_LARGEFILE),y)
20 ZLIB_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
21 endif
23 ifeq ($(BR2_x86_i586),y)
24 ZLIB_ASM_FILE=cp -dpf $(ZLIB_DIR)/contrib/asm586/match.S $(ZLIB_DIR)/
25 endif
26 # pentium pro capabable:
27 ifeq ($(BR2_i386),y)
28 ifneq ($(findstring y,$(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_geode)$(BR2_x86_c3)$(BR2_x86_winchip_c6)$(BR2_x86_winchip2)),y)
29 ZLIB_ASM_FILE=cp -dpf $(ZLIB_DIR)/contrib/asm686/match.S $(ZLIB_DIR)/
30 endif
31 endif
32 ifneq ($(ZLIB_ASM_FILE),)
33 ZLIB_CFLAGS+=-DASMV -DNO_UNDERLINE
34 ZLIB_OBJA:=match.o
35 endif
37 $(DL_DIR)/$(ZLIB_SOURCE):
38 $(WGET) -P $(DL_DIR) $(ZLIB_SITE)/$(ZLIB_SOURCE)
40 $(ZLIB_DIR)/.patched: $(DL_DIR)/$(ZLIB_SOURCE)
41 $(ZLIB_CAT) $(DL_DIR)/$(ZLIB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
42 toolchain/patch-kernel.sh $(ZLIB_DIR) package/zlib/ zlib-$(ZLIB_VERSION)\*.patch
43 # not an autoconf package: $(CONFIG_UPDATE) $(@D)
44 touch $@
46 $(ZLIB_DIR)/.configured: $(ZLIB_DIR)/.patched
47 # not an autoconf package:
48 (cd $(ZLIB_DIR); rm -rf config.cache; \
49 $(TARGET_CONFIGURE_ARGS) \
50 $(TARGET_CONFIGURE_OPTS) \
51 CFLAGS="$(TARGET_CFLAGS) $(ZLIB_CFLAGS)" \
52 ./configure \
53 $(if $(BR2_ENABLE_SHARED),--shared) \
54 --prefix=/usr \
55 --exec-prefix=$(STAGING_DIR)/usr/bin \
56 --libdir=$(STAGING_DIR)/usr/lib \
57 --includedir=$(STAGING_DIR)/usr/include \
59 touch $@
61 $(ZLIB_DIR)/libz.so.$(ZLIB_VERSION): $(ZLIB_DIR)/.configured
62 $(ZLIB_ASM_FILE)
63 $(MAKE) $(if $(ZLIB_OBJA),OBJA=$(ZLIB_OBJA)) -C $(ZLIB_DIR) $(ZLIB_OBJA) all libz.a
64 touch -c $(ZLIB_DIR)/libz.so.$(ZLIB_VERSION)
66 $(STAGING_DIR)/usr/lib/libz.so.$(ZLIB_VERSION): $(ZLIB_DIR)/libz.so.$(ZLIB_VERSION)
67 $(INSTALL) -D $(ZLIB_DIR)/libz.a $(STAGING_DIR)/usr/lib/libz.a
68 $(INSTALL) -D $(ZLIB_DIR)/zlib.h $(STAGING_DIR)/usr/include/zlib.h
69 $(INSTALL) $(ZLIB_DIR)/zconf.h $(STAGING_DIR)/usr/include/zconf.h
70 cp -dpf $(ZLIB_DIR)/libz.so* $(STAGING_DIR)/usr/lib
71 ln -sf libz.so.$(ZLIB_VERSION) $(STAGING_DIR)/usr/lib/libz.so.1
72 touch -c $@
74 $(TARGET_DIR)/usr/lib/libz.so.$(ZLIB_VERSION): $(STAGING_DIR)/usr/lib/libz.so.$(ZLIB_VERSION)
75 $(INSTALL) -d $(TARGET_DIR)/usr/lib
76 cp -dpf $(STAGING_DIR)/usr/lib/libz.so* $(TARGET_DIR)/usr/lib/
77 chmod 0755 $(TARGET_DIR)/usr/lib/libz.so*
78 $(INSTALL) -m0755 $(STAGING_DIR)/usr/lib/libz.so* $(TARGET_DIR)/usr/lib
79 -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libz.so*
80 touch -c $@
82 $(TARGET_DIR)/usr/lib/libz.a: $(STAGING_DIR)/usr/lib/libz.so.$(ZLIB_VERSION)
83 $(INSTALL) -d $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/lib
84 $(INSTALL) $(STAGING_DIR)/usr/include/zlib.h \
85 $(STAGING_DIR)/usr/include/zconf.h $(TARGET_DIR)/usr/include/
86 $(INSTALL) $(STAGING_DIR)/usr/lib/libz.a $(TARGET_DIR)/usr/lib/
87 rm -f $(TARGET_DIR)/lib/libz.so* $(TARGET_DIR)/usr/lib/libz.so
88 ln -sf libz.so.$(ZLIB_VERSION) $(TARGET_DIR)/usr/lib/libz.so
89 touch -c $@
91 zlib-headers: $(TARGET_DIR)/usr/lib/libz.a
93 zlib: $(TARGET_DIR)/usr/lib/libz.so.$(ZLIB_VERSION)
95 zlib-source: $(DL_DIR)/$(ZLIB_SOURCE)
97 zlib-clean:
98 rm -f $(TARGET_DIR)/usr/lib/libz.* \
99 $(TARGET_DIR)/usr/include/zlib.h \
100 $(TARGET_DIR)/usr/include/zconf.h \
101 $(STAGING_DIR)/usr/include/zlib.h \
102 $(STAGING_DIR)/usr/include/zconf.h \
103 $(STAGING_DIR)/usr/lib/libz.*
104 -$(MAKE) -C $(ZLIB_DIR) clean
106 zlib-dirclean:
107 rm -rf $(ZLIB_DIR)
109 #############################################################
111 # Toplevel Makefile options
113 #############################################################
114 ifeq ($(BR2_PACKAGE_ZLIB),y)
115 TARGETS+=zlib
116 endif
117 ifeq ($(findstring y,$(BR2_PACKAGE_ZLIB_TARGET_HEADERS)$(BR2_HAVE_INCLUDES)),y)
118 TARGETS+=zlib-headers
119 endif