#ifdef UseInstalled
/* building outside the tree, use private defines */
#include "../local.def"
#endif

#define LibHeaders NO

FONTCONFIGSRC=.

FC_DEFAULT_FONTS=$(FONTDIR)/Type1

#define DoNormalLib NormalLibFontconfig
#define DoSharedLib SharedLibFontconfig
#define DoExtraLib SharedLibFontconfig
#define DoDebugLib DebugLibFontconfig
#define DoProfileLib ProfileLibFontconfig
#define HasSharedData YES
#define LibName fontconfig
SOFONTCONFIGREV=1.0
#define SoRev SOFONTCONFIGREV

#include <Threads.tmpl>

INCLUDES=$(FREETYPE2INCLUDES) $(LIBXML2INCLUDES) -I..

DEFINES=-DFC_DEFAULT_FONTS='"$(FC_DEFAULT_FONTS)"' -DHAVE_EXPAT

EXPATLIB=-lexpat
REQUIREDLIBS=$(LDPRELIBS) $(FREETYPE2LIB) $(EXPATLIB)

SRCS=fcatomic.c fcblanks.c fccache.c fccfg.c fccharset.c fcdbg.c \
     fcdefault.c fcdir.c fcfreetype.c fcfs.c fcinit.c fclang.c fclist.c \
     fcmatch.c fcmatrix.c fcname.c fcpat.c fcstr.c fcxml.c

OBJS=fcatomic.o fcblanks.o fccache.o fccfg.o fccharset.o fcdbg.o \
     fcdefault.o fcdir.o fcfreetype.o fcfs.o fcinit.o fclang.o fclist.o \
     fcmatch.o fcmatrix.o fcname.o fcpat.o fcstr.o fcxml.o

#include <Library.tmpl>

#if DoSharedLib && SharedDataSeparation
SpecialCObjectRule(sharedlib,NullParameter,$(SHLIBDEF))
#endif

MANSUFFIX = $(LIBMANSUFFIX)
InstallManPage(fontconfig,$(LIBMANDIR))
DependTarget()

