Makefile revision 1.23
1#	$NetBSD: Makefile,v 1.23 2019/03/08 09:58:24 mrg Exp $
2
3.include <bsd.own.mk>
4
5LIB=	fontconfig
6
7.PATH:	${X11SRCDIR.${LIB}}/src
8SRCS=	fcatomic.c \
9	fccache.c \
10	fccfg.c \
11	fccharset.c \
12	fccompat.c \
13	fcdbg.c \
14	fcdefault.c \
15	fcdir.c \
16	fcformat.c \
17	fcfreetype.c \
18	fcfs.c \
19	fchash.c \
20	fcinit.c \
21	fclang.c \
22	fclist.c \
23	fcmatch.c \
24	fcmatrix.c \
25	fcname.c \
26	fcobjs.c \
27	fcpat.c \
28	fcptrlist.c \
29	fcrange.c \
30	fcserialize.c \
31	fcstat.c \
32	fcstr.c \
33	fcweight.c \
34	fcxml.c \
35	ftglue.c
36
37.PATH:	${X11SRCDIR.${LIB}}/doc
38MAN=	\
39	FcAtomicCreate.3 \
40	FcAtomicDeleteNew.3 \
41	FcAtomicDestroy.3 \
42	FcAtomicLock.3 \
43	FcAtomicNewFile.3 \
44	FcAtomicOrigFile.3 \
45	FcAtomicReplaceOrig.3 \
46	FcAtomicUnlock.3 \
47	FcBlanksAdd.3 \
48	FcBlanksCreate.3 \
49	FcBlanksDestroy.3 \
50	FcBlanksIsMember.3 \
51	FcCacheCopySet.3 \
52	FcCacheCreateTagFile.3 \
53	FcCacheDir.3 \
54	FcCacheNumFont.3 \
55	FcCacheNumSubdir.3 \
56	FcCacheSubdir.3 \
57	FcCharSetAddChar.3 \
58	FcCharSetCopy.3 \
59	FcCharSetCount.3 \
60	FcCharSetCoverage.3 \
61	FcCharSetCreate.3 \
62	FcCharSetDelChar.3 \
63	FcCharSetDestroy.3 \
64	FcCharSetEqual.3 \
65	FcCharSetFirstPage.3 \
66	FcCharSetHasChar.3 \
67	FcCharSetIntersect.3 \
68	FcCharSetIntersectCount.3 \
69	FcCharSetIsSubset.3 \
70	FcCharSetMerge.3 \
71	FcCharSetNew.3 \
72	FcCharSetNextPage.3 \
73	FcCharSetSubtract.3 \
74	FcCharSetSubtractCount.3 \
75	FcCharSetUnion.3 \
76	FcConfigAppFontAddDir.3 \
77	FcConfigAppFontAddFile.3 \
78	FcConfigAppFontClear.3 \
79	FcConfigBuildFonts.3 \
80	FcConfigCreate.3 \
81	FcConfigDestroy.3 \
82	FcConfigEnableHome.3 \
83	FcConfigFileInfoIterGet.3 \
84	FcConfigFileInfoIterInit.3 \
85	FcConfigFileInfoIterNext.3 \
86	FcConfigFilename.3 \
87	FcConfigGetBlanks.3 \
88	FcConfigGetCache.3 \
89	FcConfigGetCacheDirs.3 \
90	FcConfigGetConfigDirs.3 \
91	FcConfigGetConfigFiles.3 \
92	FcConfigGetCurrent.3 \
93	FcConfigGetFontDirs.3 \
94	FcConfigGetFonts.3 \
95	FcConfigGetRescanInterval.3 \
96	FcConfigGetSysRoot.3 \
97	FcConfigHome.3 \
98	FcConfigParseAndLoad.3 \
99	FcConfigParseAndLoadFromMemory.3 \
100	FcConfigReference.3 \
101	FcConfigSetCurrent.3 \
102	FcConfigSetRescanInterval.3 \
103	FcConfigSetSysRoot.3 \
104	FcConfigSubstitute.3 \
105	FcConfigSubstituteWithPat.3 \
106	FcConfigUptoDate.3 \
107	FcDefaultSubstitute.3 \
108	FcDirCacheClean.3 \
109	FcDirCacheCreateUUID.3 \
110	FcDirCacheDeleteUUID.3 \
111	FcDirCacheLoad.3 \
112	FcDirCacheLoadFile.3 \
113	FcDirCacheRead.3 \
114	FcDirCacheRescan.3 \
115	FcDirCacheUnlink.3 \
116	FcDirCacheUnload.3 \
117	FcDirCacheValid.3 \
118	FcDirSave.3 \
119	FcDirScan.3 \
120	FcFileIsDir.3 \
121	FcFileScan.3 \
122	FcFini.3 \
123	FcFontList.3 \
124	FcFontMatch.3 \
125	FcFontRenderPrepare.3 \
126	FcFontSetAdd.3 \
127	FcFontSetCreate.3 \
128	FcFontSetDestroy.3 \
129	FcFontSetList.3 \
130	FcFontSetMatch.3 \
131	FcFontSetPrint.3 \
132	FcFontSetSort.3 \
133	FcFontSetSortDestroy.3 \
134	FcFontSort.3 \
135	FcFreeTypeCharIndex.3 \
136	FcFreeTypeCharSet.3 \
137	FcFreeTypeCharSetAndSpacing.3 \
138	FcFreeTypeQuery.3 \
139	FcFreeTypeQueryAll.3 \
140	FcFreeTypeQueryFace.3 \
141	FcGetDefaultLangs.3 \
142	FcGetLangs.3 \
143	FcGetVersion.3 \
144	FcInit.3 \
145	FcInitBringUptoDate.3 \
146	FcInitLoadConfig.3 \
147	FcInitLoadConfigAndFonts.3 \
148	FcInitReinitialize.3 \
149	FcIsLower.3 \
150	FcIsUpper.3 \
151	FcLangGetCharSet.3 \
152	FcLangNormalize.3 \
153	FcLangSetAdd.3 \
154	FcLangSetCompare.3 \
155	FcLangSetContains.3 \
156	FcLangSetCopy.3 \
157	FcLangSetCreate.3 \
158	FcLangSetDel.3 \
159	FcLangSetDestroy.3 \
160	FcLangSetEqual.3 \
161	FcLangSetGetLangs.3 \
162	FcLangSetHasLang.3 \
163	FcLangSetHash.3 \
164	FcLangSetSubtract.3 \
165	FcLangSetUnion.3 \
166	FcMatrixCopy.3 \
167	FcMatrixEqual.3 \
168	FcMatrixInit.3 \
169	FcMatrixMultiply.3 \
170	FcMatrixRotate.3 \
171	FcMatrixScale.3 \
172	FcMatrixShear.3 \
173	FcNameConstant.3 \
174	FcNameGetConstant.3 \
175	FcNameGetObjectType.3 \
176	FcNameParse.3 \
177	FcNameRegisterConstants.3 \
178	FcNameRegisterObjectTypes.3 \
179	FcNameUnparse.3 \
180	FcNameUnregisterConstants.3 \
181	FcNameUnregisterObjectTypes.3 \
182	FcObjectSetAdd.3 \
183	FcObjectSetBuild.3 \
184	FcObjectSetCreate.3 \
185	FcObjectSetDestroy.3 \
186	FcPatternAdd-Type.3 \
187	FcPatternAdd.3 \
188	FcPatternAddWeak.3 \
189	FcPatternBuild.3 \
190	FcPatternCreate.3 \
191	FcPatternDel.3 \
192	FcPatternDestroy.3 \
193	FcPatternDuplicate.3 \
194	FcPatternEqual.3 \
195	FcPatternEqualSubset.3 \
196	FcPatternFilter.3 \
197	FcPatternFindIter.3 \
198	FcPatternFormat.3 \
199	FcPatternGet-Type.3 \
200	FcPatternGet.3 \
201	FcPatternGetWithBinding.3 \
202	FcPatternHash.3 \
203	FcPatternIterEqual.3 \
204	FcPatternIterGetObject.3 \
205	FcPatternIterGetValue.3 \
206	FcPatternIterIsValid.3 \
207	FcPatternIterNext.3 \
208	FcPatternIterStart.3 \
209	FcPatternIterValueCount.3 \
210	FcPatternObjectCount.3 \
211	FcPatternPrint.3 \
212	FcPatternReference.3 \
213	FcPatternRemove.3 \
214	FcRangeCopy.3 \
215	FcRangeCreateDouble.3 \
216	FcRangeCreateInteger.3 \
217	FcRangeDestroy.3 \
218	FcRangeGetDouble.3 \
219	FcStrBasename.3 \
220	FcStrCmp.3 \
221	FcStrCmpIgnoreCase.3 \
222	FcStrCopy.3 \
223	FcStrCopyFilename.3 \
224	FcStrDirname.3 \
225	FcStrDowncase.3 \
226	FcStrFree.3 \
227	FcStrListCreate.3 \
228	FcStrListDone.3 \
229	FcStrListFirst.3 \
230	FcStrListNext.3 \
231	FcStrPlus.3 \
232	FcStrSetAdd.3 \
233	FcStrSetAddFilename.3 \
234	FcStrSetCreate.3 \
235	FcStrSetDel.3 \
236	FcStrSetDestroy.3 \
237	FcStrSetEqual.3 \
238	FcStrSetMember.3 \
239	FcStrStr.3 \
240	FcStrStrIgnoreCase.3 \
241	FcToLower.3 \
242	FcUcs4ToUtf8.3 \
243	FcUtf16Len.3 \
244	FcUtf16ToUcs4.3 \
245	FcUtf8Len.3 \
246	FcUtf8ToUcs4.3 \
247	FcValueDestroy.3 \
248	FcValueEqual.3 \
249	FcValuePrint.3 \
250	FcValueSave.3 \
251	FcWeightFromOpenType.3 \
252	FcWeightFromOpenTypeDouble.3 \
253	FcWeightToOpenType.3 \
254	FcWeightToOpenTypeDouble.3
255
256MAN+=	fonts-conf.5
257
258MLINKS= fonts-conf.5 fonts.conf.5
259
260LIBDPLIBS=\
261	expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
262	freetype	${.CURDIR}/../../freetype
263
264# XXX FONTCONFIG_PATH was arbitrarily chosen
265FONTCONFIG_PATH=/etc/fonts
266TEMPLATEDIR=${FONTCONFIG_PATH}/fontconfig/conf.avail
267
268CPPFLAGS+=	-DHAVE_CONFIG_H
269CPPFLAGS+=	-DFONTCONFIG_PATH='"${FONTCONFIG_PATH}"' \
270		-DFC_DEFAULT_FONTS='"${X11FONTDIR}"' \
271		-DFC_TEMPLATEDIR='"${X11FONTDIR}"' \
272		-DFC_CACHEDIR='"/var/cache/fontconfig"' \
273		-DHAVE_FT_BITMAP_SIZE_Y_PPEM \
274		-DHAVE_FT_GET_BDF_PROPERTY \
275		-DHAVE_FT_GET_NEXT_CHAR \
276		-DHAVE_FT_GET_PS_FONT_INFO \
277		-DHAVE_FT_GET_X11_FONT_FORMAT \
278		-DHAVE_FT_HAS_PS_GLYPH_NAMES \
279		-DHAVE_EXPAT -DXFREE86_FT2 -DHAVE_INTTYPES_H \
280		-DHAVE_STDINT_H -DHAVE_RANDOM
281
282CPPFLAGS+=	${X11FLAGS.THREADLIB}
283CPPFLAGS+=	-I${DESTDIR}${X11INCDIR}/freetype2 \
284		-I${X11SRCDIR.freetype}/src \
285		-I${X11SRCDIR.freetype}/include \
286		-I${X11SRCDIR.freetype}/include/freetype \
287		-I${X11SRCDIR.${LIB}}/../include \
288		-I. \
289		-I${X11SRCDIR.${LIB}}
290
291.include "Makefile.fcarch"
292
293CLEANFILES+= fcarch.h
294
295PKGCONFIG=	fontconfig
296PKGCONFIG_SED_FLAGS= \
297	-e "s,@sysconfdir@,${X11ETCDIR},; \
298	    s,@localstatedir@,/var,; \
299	    s,@BASECONFIGDIR@,${FONTCONFIG_PATH},; \
300	    s,@TEMPLATEDIR@,${TEMPLATEDIR},; \
301	    s,@fc_cachedir@,${FONTCONFIG_PATH},"
302
303# XXX
304CPPFLAGS.fcxml.c=	-Wno-error
305
306CWARNFLAGS.clang+=	-Wno-pointer-sign -Wno-switch
307
308.if ${MACHINE_ARCH} == "sparc" || ${COMMON_MACHINE_ARCH:U} == "sparc"
309COPTS.fccache.c+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
310COPTS.fccfg.c+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
311COPTS.fccharset.c+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
312COPTS.fcobjs.c+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
313COPTS.fcpat.c+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
314COPTS.fcstr.c+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
315.endif
316
317LIBUUID_DIST=	${NETBSDSRCDIR}/external/bsd/libuuid_ul/lib/libuuid_ul
318.include "${LIBUUID_DIST}/srcs.mk"
319.include "${LIBUUID_DIST}/libuuid_ul-rename.mk"
320SRCS+=	${UUID_UL_SRCS}
321
322depend dependall all: uuid/uuid.h
323includes uuid/uuid.h:
324	@-mkdir -p uuid
325	ln -s ${X11SRCDIR}/external/bsd/libuuid_ul/dist/uuid.h uuid/uuid.h
326
327CLEANFILES+=	uuid/uuid.h
328
329.include <bsd.x11.mk>
330.include <bsd.lib.mk>
331