Update to new release.
[ttfautohint.git] / lib / local.mk
blobb720224edd3dabfc14b0a819279da3f98cb002b7
1 # lib/local.mk
3 # Copyright (C) 2011-2021 by Werner Lemberg.
5 # This file is part of the ttfautohint library, and may only be used,
6 # modified, and distributed under the terms given in `COPYING'. By
7 # continuing to use, modify, or distribute this file you indicate that you
8 # have read `COPYING' and understand and accept it fully.
10 # The file `COPYING' mentioned in the previous paragraph is distributed
11 # with the ttfautohint library.
13 ABI_CURRENT = 1
14 ABI_REVISION = 3
15 ABI_AGE = 0
18 noinst_LTLIBRARIES += \
19 lib/libsds.la \
20 lib/libnumberset.la
22 lib_LTLIBRARIES = lib/libttfautohint.la
24 include_HEADERS = \
25 lib/ttfautohint-errors.h \
26 lib/ttfautohint-scripts.h \
27 lib/ttfautohint-coverages.h
29 nodist_include_HEADERS = \
30 lib/ttfautohint.h
31 lib_libsds_la_SOURCES = \
32 lib/sds-wrapper.c lib/sds.h
34 lib_libnumberset_la_SOURCES = \
35 lib/numberset.c lib/numberset.h
37 # We have to bypass automake's default handling of flex (.l) and bison (.y)
38 # files, since such files are always treated as traditional lex and yacc
39 # files, not allowing for flex and bison extensions. For this reason, we
40 # call our source files `tacontrol.flex' and `tacontrol.bison' and write
41 # explicit dependency rules.
43 lib_libttfautohint_la_SOURCES = \
44 lib/llrb.h \
45 lib/ta.h \
46 lib/tablue.c lib/tablue.h \
47 lib/tabytecode.c lib/tabytecode.h \
48 lib/tacontrol.c lib/tacontrol.h \
49 lib/tacontrol-flex.c lib/tacontrol-flex.h \
50 lib/tacontrol-bison.c lib/tacontrol-bison.h \
51 lib/tacvt.c \
52 lib/tadsig.c \
53 lib/tadummy.c lib/tadummy.h \
54 lib/tadump.c \
55 lib/taerror.c \
56 lib/tafeature.c \
57 lib/tafile.c \
58 lib/tafont.c \
59 lib/tafpgm.c \
60 lib/tagasp.c \
61 lib/tagloadr.c lib/tagloadr.h \
62 lib/taglobal.c lib/taglobal.h \
63 lib/taglyf.c \
64 lib/tagpos.c \
65 lib/tahints.c lib/tahints.h \
66 lib/tahmtx.c \
67 lib/talatin.c lib/talatin.h \
68 lib/taloader.c lib/taloader.h \
69 lib/taloca.c \
70 lib/tamaxp.c \
71 lib/taname.c \
72 lib/tapost.c \
73 lib/taprep.c \
74 lib/taranges.c lib/taranges.h \
75 lib/tascript.c \
76 lib/tasfnt.c \
77 lib/tashaper.c lib/tashaper.h \
78 lib/tasort.c lib/tasort.h \
79 lib/tastyles.h \
80 lib/tatables.c lib/tatables.h \
81 lib/tatime.c \
82 lib/tattc.c \
83 lib/tattf.c \
84 lib/tattfa.c \
85 lib/tatypes.h \
86 lib/taversion.c \
87 lib/tawrtsys.h \
88 lib/ttfautohint.c
90 lib_libttfautohint_la_CPPFLAGS = \
91 $(AM_CPPFLAGS) \
92 $(FREETYPE_CPPFLAGS) \
93 $(HARFBUZZ_CPPFLAGS)
95 lib_libttfautohint_la_LDFLAGS = \
96 -no-undefined \
97 -version-info $(ABI_CURRENT):$(ABI_REVISION):$(ABI_AGE) \
98 -export-symbols-regex "TTF_autohint"
100 lib_libttfautohint_la_LIBADD = \
101 $(noinst_LTLIBRARIES) \
102 $(LIBM) \
103 $(FREETYPE_LIBS) \
104 $(HARFBUZZ_LIBS)
106 BUILT_SOURCES += \
107 lib/tablue.c lib/tablue.h \
108 lib/tacontrol-flex.c lib/tacontrol-flex.h \
109 lib/tacontrol-bison.c lib/tacontrol-bison.h \
110 lib/ttfautohint.h
112 EXTRA_DIST += \
113 lib/afblue.pl \
114 lib/sds.c \
115 lib/tablue.cin lib/tablue.hin \
116 lib/tablue.dat \
117 lib/tacontrol.flex lib/tacontrol.bison \
118 lib/ttfautohint.pc.in \
119 lib/numberset-test.c \
120 lib/ttfautohint.h.in
122 pkgconfigdir = $(libdir)/pkgconfig
123 pkgconfig_DATA = lib/ttfautohint.pc
125 CLEANFILES += $(pkgconfig_DATA)
127 lib/ttfautohint.pc: lib/ttfautohint.pc.in config.status
128 $(AM_V_GEN)$(SED) \
129 -e 's@%prefix%@$(prefix)@g' \
130 -e 's@%exec_prefix%@$(exec_prefix)@g' \
131 -e 's@%includedir%@$(includedir)@g' \
132 -e 's@%libdir%@$(libdir)@g' \
133 -e 's@%version%@$(ABI_CURRENT).$(ABI_REVISION).$(ABI_AGE)@g' \
134 "$<" \
135 > "$@" \
136 || (rm "$@"; false)
138 lib/tablue.c: lib/tablue.dat lib/tablue.cin
139 $(AM_V_GEN)rm -f $@-t $@ \
140 && perl $(srcdir)/lib/afblue.pl $(srcdir)/lib/tablue.dat \
141 < $(srcdir)/lib/tablue.cin \
142 > $@-t \
143 && mv $@-t $@
145 lib/tablue.h: lib/tablue.dat lib/tablue.hin
146 $(AM_V_GEN)rm -f $@-t $@ \
147 && perl $(srcdir)/lib/afblue.pl $(srcdir)/lib/tablue.dat \
148 < $(srcdir)/lib/tablue.hin \
149 > $@-t \
150 && mv $@-t $@
152 lib/ttfautohint.h: lib/ttfautohint.h.in
153 $(AM_V_GEN)$(SED) \
154 -e 's@%TTFAUTOHINT_MAJOR%@$(ttfautohint_major)@g' \
155 -e 's@%TTFAUTOHINT_MINOR%@$(ttfautohint_minor)@g' \
156 -e 's@%TTFAUTOHINT_REVISION%@$(ttfautohint_revision)@g' \
157 -e 's@%TTFAUTOHINT_VERSION%@$(VERSION)@g' \
158 "$<" \
159 > "$@" \
160 || (rm "$@"; false)
162 DISTCLEANFILES += lib/ttfautohint.h
164 TA_V_FLEX = $(TA_V_FLEX_@AM_V@)
165 TA_V_FLEX_ = $(TA_V_FLEX_@AM_DEFAULT_V@)
166 TA_V_FLEX_0 = @echo " FLEX " $@;
168 # We use `touch' to make the created .h file newer than the created .c file.
170 lib/tacontrol-flex.c lib/tacontrol-flex.h: lib/tacontrol.flex
171 $(TA_V_FLEX)$(FLEX) --outfile=lib/tacontrol-flex.c \
172 --header-file=lib/tacontrol-flex.h \
173 $< \
174 && touch lib/tacontrol-flex.h
175 lib/tacontrol-flex.h: lib/tacontrol-flex.c
177 TA_V_BISON = $(TA_V_BISON_@AM_V@)
178 TA_V_BISON_ = $(TA_V_BISON_@AM_DEFAULT_V@)
179 TA_V_BISON_0 = @echo " BISON " $@;
181 lib/tacontrol-bison.c lib/tacontrol-bison.h: lib/tacontrol.bison
182 $(TA_V_BISON)$(BISON) --output=lib/tacontrol-bison.c \
183 --defines=lib/tacontrol-bison.h \
184 $< \
185 && touch lib/tacontrol-bison.h
186 lib/tacontrol-bison.h: lib/tacontrol-bison.c
188 # end of lib/local.mk