Imakefile   [plain text]


XCOMM $XFree86: xc/lib/fontconfig/Imakefile,v 1.18 2003/12/08 17:11:21 dawes Exp $

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

#define IncSubdir fontconfig

HEADERS=fcfreetype.h fcprivate.h fontconfig.h

BuildIncludes($(HEADERS),IncSubdir,..)
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))

#include <Threads.tmpl>

FONTCONFIGSRC=$(TOP)/extras/fontconfig

INCLUDES=$(EXPATINCLUDES) $(FREETYPE2INCLUDES) -I$(FONTCONFIGSRC)/src \
	-I$(XBUILDINCDIR)

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

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

FONTCONFIG_VERSION=2.1.0

#ifndef FontconfigFontsConfDir
#if NothingOutsideProjectRoot
#define FontconfigFontsConfDir $(PROJECTROOT)/etc/fonts
#else
#define FontconfigFontsConfDir /etc/fonts
#endif
#endif

FONTCONFIGFONTSCONFDIR=FontconfigFontsConfDir

#ifdef DarwinArchitecture
MACFONTDIRS = ~/Library/Fonts /Library/Fonts /Network/Library/Fonts \
              /System/Library/Fonts
#endif

#if NothingOutsideProjectRoot
FONTDIRS=$(FONTDIR)
#else
FONTDIRS=/usr/share/fonts $(FONTDIR) $(MACFONTDIRS)
#endif

RPATH_CFLAG = HardCodeLibdirFlag

SUBSTVARS=prefix=$(PROJECTROOT) \
          exec_prefix=$(BINDIR) \
          libdir=$(USRLIBDIR) \
	  hardcode_libdir_flag_spec=$(RPATH_CFLAG) \
          includedir=$(INCROOT) \
          PACKAGE_VERSION=$(FONTCONFIG_VERSION)

CONFIG_SUBST_PROG=sh $(FONTCONFIGSRC)/config/config-subst

#ifndef InstallNamedTargetBackup
#define InstallNamedTargetBackup(step,srcname,flags,dest,dstname)	@@\
step:: srcname								@@\
	MakeDir($(DESTDIR)dest)						@@\
	MoveToBakFile($(DESTDIR)dest/dstname)				@@\
	$(INSTALL) $(INSTALLFLAGS) flags srcname $(DESTDIR)dest/dstname
#endif /* InstallNamedTargetBackup */

#ifndef InstallNonExecFileBackup
#define InstallNonExecFileBackup(file,dest)				@@\
InstallNamedTargetBackup(install,file,$(INSTDATFLAGS),dest,file)
#endif /* InstallNonExecFileBackup */

InstallNonExecFileBackup(fonts.conf,$(FONTCONFIGFONTSCONFDIR))
InstallNonExecFile(fonts.dtd,$(FONTCONFIGFONTSCONFDIR))

all:: fonts.conf

fonts.conf: fonts.conf.in setfontdirs findfonts
	RemoveFile($@)
	sh ./setfontdirs $(FONTDIRS)

clean::
	RemoveFile(fonts.conf)

all:: fontconfig.pc

fontconfig.pc: fontconfig.pc.in
	RemoveFile($@)
	$(CONFIG_SUBST_PROG) $(SUBSTVARS) < fontconfig.pc.in > $@

InstallNonExecFile(fontconfig.pc,$(USRLIBDIR)/pkgconfig)

clean::
	RemoveFile(fontconfig.pc)

/* config stuff */
LinkSourceFile(findfonts,$(FONTCONFIGSRC))
LinkSourceFile(fontconfig.pc.in,$(FONTCONFIGSRC))
LinkSourceFile(fonts.conf.in,$(FONTCONFIGSRC))
LinkSourceFile(fonts.dtd,$(FONTCONFIGSRC))
LinkSourceFile(setfontdirs,$(FONTCONFIGSRC))

/* Source */
LinkSourceFile(fcatomic.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcblanks.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fccache.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fccfg.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fccharset.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcdbg.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcdefault.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcdir.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcfreetype.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcfs.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcinit.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fclang.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fclist.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcmatch.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcmatrix.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcname.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcpat.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcstr.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fcxml.c,$(FONTCONFIGSRC)/src)
LinkSourceFile(fontconfig-def.cpp,$(FONTCONFIGSRC)/src)
LinkSourceFile(fontconfig.man,$(FONTCONFIGSRC)/src)

/* Public headers */
LinkSourceFile(fcfreetype.h,$(FONTCONFIGSRC)/fontconfig)
LinkSourceFile(fcprivate.h,$(FONTCONFIGSRC)/fontconfig)
LinkSourceFile(fontconfig.h,$(FONTCONFIGSRC)/fontconfig)