summaryrefslogtreecommitdiffstats
path: root/package/zlib/zlib.mk
blob: 3144ae9fa1c058f7a2bef85b62069d842c534513 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#############################################################
#
# zlib
#
#############################################################
ZLIB_VERSION:=1.2.3
ZLIB_SOURCE:=zlib-$(ZLIB_VERSION).tar.bz2
ZLIB_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libpng
ZLIB_INSTALL_STAGING=YES

ifeq ($(BR2_PREFER_STATIC_LIB),y)
ZLIB_PIC :=
ZLIB_SHARED :=
else
ZLIB_PIC := -fPIC
ZLIB_SHARED := --shared
endif

define ZLIB_CONFIGURE_CMDS
	(cd $(@D); rm -rf config.cache; \
		$(TARGET_CONFIGURE_ARGS) \
		$(TARGET_CONFIGURE_OPTS) \
		CFLAGS="$(TARGET_CFLAGS) $(ZLIB_PIC)" \
		./configure \
		$(ZLIB_SHARED) \
		--prefix=/usr \
		--exec-prefix=$(STAGING_DIR)/usr/bin \
		--libdir=$(STAGING_DIR)/usr/lib \
		--includedir=$(STAGING_DIR)/usr/include \
	)
endef

define HOST_ZLIB_CONFIGURE_CMDS
	(cd $(@D); rm -rf config.cache; \
		$(HOST_CONFIGURE_ARGS) \
		$(HOST_CONFIGURE_OPTS) \
		CFLAGS="$(ZLIB_PIC)" \
		./configure \
		$(ZLIB_SHARED) \
		--prefix="$(HOST_DIR)/usr" \
		--sysconfdir="$(HOST_DIR)/etc" \
	)
endef

define ZLIB_BUILD_CMDS
	$(MAKE) -C $(@D) all libz.a
endef

define HOST_ZLIB_BUILD_CMDS
	$(MAKE) -C $(@D) all libz.a
endef

define ZLIB_INSTALL_STAGING_CMDS
	$(INSTALL) -D $(@D)/libz.a $(STAGING_DIR)/usr/lib/libz.a
	$(INSTALL) -D $(@D)/zlib.h $(STAGING_DIR)/usr/include/zlib.h
	$(INSTALL) $(@D)/zconf.h $(STAGING_DIR)/usr/include/
	cp -dpf $(@D)/libz.so* $(STAGING_DIR)/usr/lib/
endef

define HOST_ZLIB_INSTALL_CMDS
	$(INSTALL) -D $(@D)/libz.a $(HOST_DIR)/usr/lib/libz.a
	$(INSTALL) -D $(@D)/zlib.h $(HOST_DIR)/usr/include/zlib.h
	$(INSTALL) $(@D)/zconf.h $(HOST_DIR)/usr/include/
	cp -dpf $(@D)/libz.so* $(HOST_DIR)/usr/lib/
endef

ifeq ($(BR2_HAVE_DEVFILES),y)
define ZLIB_INSTALL_TARGET_HEADERS
	$(INSTALL) -D $(@D)/zlib.h $(TARGET_DIR)/usr/include/zlib.h
	$(INSTALL) $(@D)/zconf.h $(TARGET_DIR)/usr/include/
endef
endif

define ZLIB_INSTALL_TARGET_CMDS
	mkdir -p $(TARGET_DIR)/usr/lib
	cp -dpf $(@D)/libz.so* $(TARGET_DIR)/usr/lib
	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libz.so*
	$(INSTALL) -D $(@D)/libz.a $(TARGET_DIR)/usr/lib/libz.a
	$(ZLIB_INSTALL_TARGET_HEADERS)
endef

$(eval $(call GENTARGETS,package,zlib))
$(eval $(call GENTARGETS,package,zlib,host))