#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) -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()

