1 # NMake Makefile portion for displaying config info
3 INC_FEATURES = Uniscribe Fallback OT
5 BUILT_LIBRARIES = HarfBuzz
9 INC_FEATURES = $(INC_FEATURES) GLib
10 BUILT_TOOLS = hb-shape.exe hb-ot-shape-closure.exe
11 !if "$(CAIRO_FT)" == "1"
12 BUILT_TOOLS = hb-view.exe $(BUILT_TOOLS)
18 !if "$(FREETYPE)" == "1"
19 INC_FEATURES = $(INC_FEATURES) FreeType
22 !if "$(GRAPHITE2)" == "1"
23 INC_FEATURES = $(INC_FEATURES) Graphite2
26 !if "$(DIRECTWRITE)" == "1"
27 INC_FEATURES = $(INC_FEATURES) DirectWrite
31 BUILT_LIBRARIES = $(BUILT_LIBRARIES) HarfBuzz-ICU
34 !if "$(GOBJECT)" == "1"
35 BUILT_LIBRARIES = $(BUILT_LIBRARIES) HarfBuzz-GObject
38 !if "$(INTROSPECTION)" == "1"
39 BUILD_INTROSPECTION = yes
41 BUILD_INTROSPECTION = no
46 @echo ==================================
47 @echo Configuration for HarfBuzz Library
48 @echo ==================================
49 @echo Unicode Implementation: $(UNICODE_IMPL)
50 @echo Enabled Features: $(INC_FEATURES)
52 all-build-info: build-info-hb
54 @echo ----------------
55 @echo Other build info
56 @echo ----------------
57 @echo Built Libraries: $(BUILT_LIBRARIES)
58 @echo Built Tools: $(BUILT_TOOLS)
59 @echo Introspection: $(BUILD_INTROSPECTION)
63 @echo =============================
64 @echo Building HarfBuzz Using NMake
65 @echo =============================
66 @echo nmake /f Makefile.vc CFG=[release^|debug] ^<PREFIX=PATH^> OPTION=1 ...
70 @echo CFG: Required, use CFG=release for an optimized build and CFG=debug
71 @echo for a debug build. PDB files are generated for all builds.
73 @echo PREFIX: Optional, the path where dependent libraries and tools may be
74 @echo found, default is ^$(srcrootdir)\..\vs^$(short_vs_ver)\^$(platform),
75 @echo where ^$(short_vs_ver) is 9 for VS 2008, 10 for VS 2010 and so on; and
76 @echo ^$(platform) is Win32 for 32-bit builds and x64 for x64 builds.
78 @echo OPTION: Optional, may be any of the following, use OPTION=1 to enable;
79 @echo multiple OPTION's may be used. If no OPTION is specified, a default
80 @echo HarfBuzz DLL is built with OpenType, fallback and Uniscribe support
81 @echo with a bundled Unicode implementation (UCDN).
84 @echo Enable DirectWrite support, requires a recent enough Windows SDK.
87 @echo Enable graphite2 support, requires the SIL Graphite2 library
90 @echo Enable FreeType2 support, requires the FreeType2 library
93 @echo Enable GLib2 support, with GLib Unicode support, requires the GNOME GLib2
94 @echo library. Enables the build of utility programs.
97 @echo Enable the HarfBuzz-ICU layout library, requires the International
98 @echo Components for Unicode (ICU) libraries.
101 @echo Enable the HarfBuzz-GObject library, also implies GLib2 support,
102 @echo requires the GNOME GLib2 libraries and tools, notably the glib-mkenums
103 @echo tool script, which will require a PERL interpretor (use
104 @echo PERL=^$(PATH_TO_PERL_INTERPRETOR)) if it is not already in your PATH).
107 @echo Enable the build of introspection files, also implies GObject/GLib2 support,
108 @echo requires the GNOME gobject-introspection libraries and tools. You will need
109 @echo to ensure the pkg-config (.pc) files can be found for GObject-2.0 and the
110 @echo Python interpretor (that was used to build the gobject-introsoection tools)
111 @echo can be found by setting PKG_CONFIG_PATH beforehand, and passing in PYTHON=
112 @echo ^$(PATH_TO_PYTHON_INTERPRETOR) respectively, if python.exe is not already
116 @echo Enables Cairo-Freetype support, needed for the build of the hb-view utility.
117 @echo Implies FreeType2 support and also requires Cairo built with FreeType2
118 @echo support; GLib2 support must also be enabled.
120 @echo LIBTOOL_DLL_NAME:
121 @echo Use a libtool-style DLL name to mimic the DLL file naming generated by
124 @echo Note that GLib2 support is required for all utility and test programs.
126 @echo A 'clean' target is supported to remove all generated files, intermediate
127 @echo object files and binaries for the specified configuration.
129 @echo A 'tests' target is supported to build the test programs, if GLib2 support
130 @echo is enabled. Use after building the libraries and utilities.
132 @echo An 'install' target is supported to copy the build (DLLs, utility programs,
133 @echo LIBs, along with the introspection files if applicable) to appropriate
134 @echo locations under ^$(PREFIX).