builds/detect.mk' and
builds/PROJECT.mk' for moreeval_available := $(eval eval_available := T) ifneq ($(eval_available),T) $(error FreeType's build system needs a Make program which supports $$(value)) endif
.PHONY: all dist distclean modules setup
empty := space := $(empty) $(empty)
ifndef MODULES_CFG MODULES_CFG := $(TOP_DIR)/modules.cfg ifneq ($(wildcard $(OBJ_DIR)/modules.cfg),) MODULES_CFG := $(OBJ_DIR)/modules.cfg endif endif
FTMODULE_H ?= $(OBJ_DIR)/ftmodule.h
include $(MODULES_CFG)
MODULES := $(FONT_MODULES) \ $(HINTING_MODULES) \ $(RASTER_MODULES) \ $(AUX_MODULES)
CONFIG_MK ?= config.mk
config.mk' is not present, set
check_platform'.ifeq ($(wildcard $(CONFIG_MK)),) check_platform := 1 endif
setup' is one of the targets requested, set
check_platform'.ifneq ($(findstring setup,$(MAKECMDGOALS)),) check_platform := 1 endif
ifdef check_platform
all modules: setup
include $(TOP_DIR)/builds/detect.mk
# This rule makes sense for Unix only to remove files created by a run of
# the configure script which hasn't been successful (so that no
# config.mk' has been created). It uses the built-in $(RM) command of
# GNU make. Similarly,
nul' is created if e.g. make setup windows' has
# been erroneously used.
#
# Note: This test is duplicated in
builds/unix/detect.mk'.
#
is_unix := $(strip $(wildcard /sbin/init) \
$(wildcard /usr/sbin/init) \
$(wildcard /dev/null) \
$(wildcard /hurd/auth))
ifneq ($(is_unix),)
distclean: $(RM) builds/unix/config.cache $(RM) builds/unix/config.log $(RM) builds/unix/config.status $(RM) builds/unix/unix-def.mk $(RM) builds/unix/unix-cc.mk $(RM) builds/unix/freetype2.pc $(RM) nul
endif # test is_unix
# IMPORTANT:
#
# setup' must be defined by the host platform detection rules to create
# the
config.mk' file in the current directory.
else
# A configuration sub-Makefile is present -- simply run it. # all: single
BUILD_PROJECT := yes include $(CONFIG_MK)
endif # test check_platform
all setup: $(FTMODULE_H)
modules: $(FTMODULE_H_INIT) $(FTMODULE_H_CREATE) $(FTMODULE_H_DONE)
include $(TOP_DIR)/builds/modules.mk
work := $(strip $(shell $(CAT) $(TOP_DIR)/include/freetype/freetype.h)) work := $(subst |,x,$(work)) work := $(subst $(space),|,$(work)) work := $(subst #define|FREETYPE_MAJOR|,$(space),$(work)) work := $(word 2,$(work)) major := $(subst |,$(space),$(work)) major := $(firstword $(major))
work := $(subst #define|FREETYPE_MINOR|,$(space),$(work)) work := $(word 2,$(work)) minor := $(subst |,$(space),$(work)) minor := $(firstword $(minor))
work := $(subst #define|FREETYPE_PATCH|,$(space),$(work)) work := $(word 2,$(work)) patch := $(subst |,$(space),$(work)) patch := $(firstword $(patch))
ifneq ($(findstring x0x,x$(patch)x),) version := $(major).$(minor) winversion := $(major)$(minor) else version := $(major).$(minor).$(patch) winversion := $(major)$(minor)$(patch) endif
dist: -rm -rf tmp rm -f freetype-$(version).tar.gz rm -f freetype-$(version).tar.bz2 rm -f ft$(winversion).zip
for d in `find . -wholename '*/.git' -prune \ -o -type f \ -o -print` ; do \ mkdir -p tmp/$$d ; \ done ; currdir=`pwd` ; \ for f in `find . -wholename '*/.git' -prune \ -o -name .gitignore \ -o -name .mailmap \ -o -type d \ -o -print` ; do \ ln -s $$currdir/$$f tmp/$$f ; \ done @# Prevent generation of .pyc files. Python follows (soft) links if @# the link's directory is write protected, so we have temporarily @# disable write access here too. chmod -w src/tools/docmaker cd tmp ; \ $(MAKE) devel ; \ $(MAKE) do-dist chmod +w src/tools/docmaker mv tmp freetype-$(version) tar -H ustar -chf - freetype-$(version) \ | gzip -9 -c > freetype-$(version).tar.gz tar -H ustar -chf - freetype-$(version) \ | bzip2 -c > freetype-$(version).tar.bz2 @# Use CR/LF for zip files. zip -lr9 ft$(winversion).zip freetype-$(version) rm -fr freetype-$(version)
config.guess' and
config.sub' versions (fromconfig' git repository), relative to the
tmp' directory used duringCONFIG_GUESS = ~/git/config/config.guess CONFIG_SUB = ~/git/config/config.sub
make do-dist'. Always use
make dist' instead..PHONY: do-dist
do-dist: distclean refdoc @# Without removing the files, `autoconf' and friends follow links. rm -f builds/unix/aclocal.m4 rm -f builds/unix/configure.ac rm -f builds/unix/configure
sh autogen.sh rm -rf builds/unix/autom4te.cache cp $(CONFIG_GUESS) builds/unix cp $(CONFIG_SUB) builds/unix