d7b6636e5e
This adds a set of NMake Makefiles that can be used to build HarfBuzz, from the standard basic build building the minimal HarfBuzz DLL (consisting of OpenType, fallback and Uniscribe support only), to a full fledged build consisting of GLib and FreeType support, as well as building the utilities, the test programs in src/ and test/api, and HarfBuzz-ICU and HarfBuzz-GObject, and up to building the introspection files. This means a flexible build mechanism is supported here, so anything that is supported for a Windows build (code-wise), should all be supported by this build system. As in an earlier commit, the source listings are shared with the autotools builds with the various Makefile.sources in src/, src/hb-ucdn and util/, and this set of NMake Makefiles will transform these lists into the form they want. In the current form, all the test programs in test/api pass, and this has been checked successfully with 'make -j8 distcheck'.
83 lines
2.0 KiB
Makefile
83 lines
2.0 KiB
Makefile
# Process this file with automake to produce Makefile.in
|
|
|
|
NULL =
|
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
SUBDIRS = src util test docs win32
|
|
|
|
EXTRA_DIST = \
|
|
autogen.sh \
|
|
harfbuzz.doap \
|
|
Android.mk \
|
|
README.python \
|
|
BUILD.md \
|
|
$(NULL)
|
|
|
|
MAINTAINERCLEANFILES = \
|
|
$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
|
|
$(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) \
|
|
$(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \
|
|
$(srcdir)/INSTALL \
|
|
$(srcdir)/ChangeLog \
|
|
$(srcdir)/gtk-doc.make \
|
|
$(NULL)
|
|
|
|
|
|
#
|
|
# ChangeLog generation
|
|
#
|
|
CHANGELOG_RANGE =
|
|
ChangeLog: $(srcdir)/ChangeLog
|
|
$(srcdir)/ChangeLog:
|
|
$(AM_V_GEN) if test -d "$(top_srcdir)/.git"; then \
|
|
(GIT_DIR=$(top_srcdir)/.git \
|
|
$(GIT) log $(CHANGELOG_RANGE) --stat) | fmt --split-only > $@.tmp \
|
|
&& mv -f $@.tmp "$(srcdir)/ChangeLog" \
|
|
|| ($(RM) $@.tmp; \
|
|
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
|
|
(test -f $@ || echo git-log is required to generate this file >> "$(srcdir)/$@")); \
|
|
else \
|
|
test -f $@ || \
|
|
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
|
|
echo A git checkout and git-log is required to generate this file >> "$(srcdir)/$@"); \
|
|
fi
|
|
.PHONY: ChangeLog $(srcdir)/ChangeLog
|
|
|
|
|
|
#
|
|
# Release engineering
|
|
#
|
|
|
|
DISTCHECK_CONFIGURE_FLAGS = \
|
|
--enable-gtk-doc \
|
|
--disable-doc-cross-references \
|
|
--with-gobject \
|
|
--enable-introspection \
|
|
$(NULL)
|
|
|
|
# TODO: Copy infrastructure from cairo
|
|
|
|
# TAR_OPTIONS is not set as env var for 'make dist'. How to fix that?
|
|
TAR_OPTIONS = --owner=0 --group=0
|
|
|
|
dist-hook: dist-clear-sticky-bits
|
|
# Clean up any sticky bits we may inherit from parent dir
|
|
dist-clear-sticky-bits:
|
|
chmod -R a-s $(distdir)
|
|
|
|
|
|
tar_file = $(PACKAGE_TARNAME)-$(VERSION).tar.bz2
|
|
sha256_file = $(tar_file).sha256
|
|
gpg_file = $(sha256_file).asc
|
|
$(sha256_file): $(tar_file)
|
|
sha256sum $^ > $@
|
|
$(gpg_file): $(sha256_file)
|
|
@echo "Please enter your GPG password to sign the checksum."
|
|
gpg --armor --sign $^
|
|
|
|
release-files: $(tar_file) $(sha256_file) $(gpg_file)
|
|
|
|
|
|
-include $(top_srcdir)/git.mk
|