summaryrefslogtreecommitdiffstats
path: root/package/freetype/freetype.mk
blob: 7a837aac802e55b4725da61d514fbb909235b9bc (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
#############################################################
#
# freetype
#
#############################################################
FREETYPE_VERSION = 2.3.9
FREETYPE_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/freetype
FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2
FREETYPE_LIBTOOL_PATCH = NO
FREETYPE_INSTALL_STAGING = YES
FREETYPE_INSTALL_TARGET = YES
FREETYPE_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
FREETYPE_MAKE_OPT = CCexe="$(HOSTCC)"
FREETYPE_DEPENDENCIES = host-pkgconfig $(if $(BR2_PACKAGE_ZLIB),zlib)

$(eval $(call AUTOTARGETS,package,freetype))

$(FREETYPE_HOOK_POST_INSTALL):
	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" \
		-e "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" \
		-e "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include/freetype2\',g" \
		-e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \
		$(STAGING_DIR)/usr/bin/freetype-config
	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libfreetype.so
ifneq ($(BR2_HAVE_DEVFILES),y)
	rm -f $(TARGET_DIR)/usr/bin/freetype-config
endif
	touch $@

# freetype for the host
FREETYPE_HOST_DIR:=$(BUILD_DIR)/freetype-$(FREETYPE_VERSION)-host

$(DL_DIR)/$(FREETYPE_SOURCE):
	$(call DOWNLOAD,$(FREETYPE_SITE),$(FREETYPE_SOURCE))

$(STAMP_DIR)/host_freetype_unpacked: $(DL_DIR)/$(FREETYPE_SOURCE)
	mkdir -p $(FREETYPE_HOST_DIR)
	$(INFLATE$(suffix $(FREETYPE_SOURCE))) $< | \
		$(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(FREETYPE_HOST_DIR) $(TAR_OPTIONS) -
	touch $@

$(STAMP_DIR)/host_freetype_configured: $(STAMP_DIR)/host_freetype_unpacked $(STAMP_DIR)/host_pkgconfig_installed
	(cd $(FREETYPE_HOST_DIR); rm -rf config.cache; \
		$(HOST_CONFIGURE_OPTS) \
		CFLAGS="$(HOST_CFLAGS)" \
		LDFLAGS="$(HOST_LDFLAGS)" \
		./configure $(QUIET) \
		--prefix="$(HOST_DIR)/usr" \
		--sysconfdir="$(HOST_DIR)/etc" \
	)
	touch $@

$(STAMP_DIR)/host_freetype_compiled: $(STAMP_DIR)/host_freetype_configured
	$(MAKE) -C $(FREETYPE_HOST_DIR)
	touch $@

$(STAMP_DIR)/host_freetype_installed: $(STAMP_DIR)/host_freetype_compiled
	$(HOST_MAKE_ENV) $(MAKE) -C $(FREETYPE_HOST_DIR) install
	touch $@

host-freetype: $(STAMP_DIR)/host_freetype_installed

host-freetype-source: freetype-source

host-freetype-clean:
	rm -f $(addprefix $(STAMP_DIR)/host_freetype_,unpacked configured compiled installed)
	-$(MAKE) -C $(FREETYPE_HOST_DIR) uninstall
	-$(MAKE) -C $(FREETYPE_HOST_DIR) clean

host-freetype-dirclean:
	rm -rf $(FREETYPE_HOST_DIR)