diff options
Diffstat (limited to 'Build/source/texk/web2c/xetexdir/am/xetex.mk')
-rw-r--r-- | Build/source/texk/web2c/xetexdir/am/xetex.mk | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/xetexdir/am/xetex.mk b/Build/source/texk/web2c/xetexdir/am/xetex.mk new file mode 100644 index 00000000000..94c9a75727d --- /dev/null +++ b/Build/source/texk/web2c/xetexdir/am/xetex.mk @@ -0,0 +1,205 @@ +# Makefile fragment for XeTeX and web2c. -- Jonathan Kew -- Public domain. +# This fragment contains the parts of the makefile that are most likely to +# differ between releases of XeTeX. + +Makefile: $(srcdir)/xetexdir/xetex.mk + +# this should probably move to common.mk some day, +# but need to check possible effect on other programs +ALL_CXXFLAGS = @CXXFLAGS@ + +# We build xetex unless configure decides to skip it +xetex = @XETEX@ xetex + +### Platform-specific defines and files to be built + +# On Mac OS X: +@XETEX_MACOSX@ xetex_platform_o = XeTeXFontMgr_Mac.o + +# On non-Mac platforms: + +@XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@ + +### is Graphite support included? + +@XETEX_GRAPHITE@ GRAPHITEDIR = ../../libs/graphite-engine +@XETEX_GRAPHITE@ GRAPHITESRCDIR = $(srcdir)/$(GRAPHITEDIR) + +@XETEX_GRAPHITE@ GRAPHITEFLAGS = @GRAPHITECPPFLAGS@ +@XETEX_GRAPHITE@ LDGRAPHITE = @LDGRAPHITE@ +@XETEX_GRAPHITE@ GRAPHITEDEP = @GRAPHITEDEP@ + +### end of platform-specific setup + +LDLIBXPDF=@LDLIBXPDF@ +LIBXPDFCPPFLAGS=@LIBXPDFCPPFLAGS@ +LIBXPDFDEP=@LIBXPDFDEP@ + +LIBXPDFDIR=../../libs/xpdf +LIBXPDFSRCDIR=$(srcdir)/$(LIBXPDFDIR) + +LDLIBPNG=@LDLIBPNG@ +LIBPNGCPPFLAGS=@LIBPNGCPPFLAGS@ +LIBPNGDEP=@LIBPNGDEP@ + +LIBPNGDIR=../../libs/libpng +LIBPNGSRCDIR=$(srcdir)/$(LIBPNGDIR) + +LDFREETYPE2 = @LDFREETYPE2@ +FTFLAGS = @FREETYPE2CPPFLAGS@ +FREETYPE2DEP = @FREETYPE2DEP@ + +FREETYPE2DIR = ../../libs/freetype2 +FREETYPE2SRCDIR = $(srcdir)/$(FREETYPE2DIR) + +TECKITFLAGS = @TECKITCPPFLAGS@ +LDTECKIT = @LDTECKIT@ +TECKITDEP = @TECKITDEP@ + +TECKITDIR=../../libs/teckit +TECKITSRCDIR=$(srcdir)/$(TECKITDIR) + +ICUFLAGS = @ICUCPPFLAGS@ +LDICU = @LDICU@ +ICUDEP = @ICUDEP@ + +ICUDIR=../../libs/icu-xetex +ICUSRCDIR=$(srcdir)/$(ICUDIR) + +ICUCFLAGS = @ICUCPPFLAGS@ -DLE_USE_CMEMORY + +ZLIBCPPFLAGS = @ZLIBCPPFLAGS@ +LDZLIB = @LDZLIB@ + +ZLIBDIR = ../../libs/zlib +ZLIBSRCDIR = $(srcdir)/$(ZLIBDIR) + +FONTCONFIGCPPFLAGS = @FONTCONFIGCPPFLAGS@ +FONTCONFIGLDFLAGS = @FONTCONFIGLDFLAGS@ + +xetexlibs = $(LDICU) $(LDTECKIT) $(LDFREETYPE2) $(LDGRAPHITE) $(LDZLIB) + +# Font-related headers +XeTeXFontHdrs = \ + $(srcdir)/xetexdir/XeTeXFontMgr_Mac.h + + +# The C sources. +xetex_c = xetexini.c xetex0.c xetex1.c xetex2.c +xetex_o = xetexini.o xetex0.o xetex1.o xetex2.o xetexextra.o +xetex_add_o = xetex_pool.o $(xetex_platform_o) + +# these compilations require the path to TECkit headers; +# just setting it in XCFLAGS doesn't seem to work when we're called +# recursively from "make world" etc +xetexini.o: xetexini.c $(srcdir)/xetexdir/XeTeX_ext.h + $(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +xetex0.o: xetex0.c $(srcdir)/xetexdir/XeTeX_ext.h + $(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +xetex1.o: xetex1.c $(srcdir)/xetexdir/XeTeX_ext.h + $(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +xetex2.o: xetex2.c $(srcdir)/xetexdir/XeTeX_ext.h + $(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +xetexextra.o: xetexextra.c $(srcdir)/xetexdir/XeTeX_ext.h + $(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +xetex_pool.o: xetex_pool.c $(srcdir)/xetexdir/XeTeX_ext.h + $(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +# image support +mfileio.o: $(srcdir)/xetexdir/mfileio.c $(srcdir)/xetexdir/mfileio.h + $(compile) $(ALL_CFLAGS) $(FTFLAGS) -c $< -o $@ + +numbers.o: $(srcdir)/xetexdir/numbers.c $(srcdir)/xetexdir/numbers.h + $(compile) $(ALL_CFLAGS) $(FTFLAGS) -c $< -o $@ + +bmpimage.o: $(srcdir)/xetexdir/bmpimage.c $(srcdir)/xetexdir/bmpimage.h + $(compile) $(ALL_CFLAGS) $(FTFLAGS) -c $< -o $@ + +jpegimage.o: $(srcdir)/xetexdir/jpegimage.c $(srcdir)/xetexdir/jpegimage.h + $(compile) $(ALL_CFLAGS) $(FTFLAGS) -c $< -o $@ + +pngimage.o: $(srcdir)/xetexdir/pngimage.c $(srcdir)/xetexdir/pngimage.h + $(compile) $(ALL_CFLAGS) $(FTFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@ + +pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h + $(CXX) $(ALL_CFLAGS) $(FTFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@ + +XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs) + $(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +# Layout library +xetex_ot_layout_o = \ + $(xetex_platform_layout_o) + +XeTeXLayoutInterface.o: $(srcdir)/xetexdir/XeTeXLayoutInterface.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(GRAPHITEFLAGS) $(FONTCONFIGCPPFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) $(XETEX_GRAPHITE) -c $< -o $@ +XeTeXOTLayoutEngine.o: $(srcdir)/xetexdir/XeTeXOTLayoutEngine.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(FONTCONFIGCPPFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +XeTeXFontMgr.o: $(srcdir)/xetexdir/XeTeXFontMgr.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(FONTCONFIGCPPFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ +XeTeXFontMgr_FC.o: $(srcdir)/xetexdir/XeTeXFontMgr_FC.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(FONTCONFIGCPPFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +XeTeXFontMgr_Mac.o: $(srcdir)/xetexdir/XeTeXFontMgr_Mac.mm $(XeTeXFontHdrs) + $(CXX) -ObjC++ $(ICUCFLAGS) $(FTFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +cmaps.o: $(srcdir)/xetexdir/cmaps.cpp + $(CXX) $(ICUCFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ +FontTableCache.o: $(srcdir)/xetexdir/FontTableCache.cpp + $(CXX) $(ICUCFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +XeTeXFontInst.o: $(srcdir)/xetexdir/XeTeXFontInst.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(FONTCONFIGCPPFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ +XeTeXFontInst_Mac.o: $(srcdir)/xetexdir/XeTeXFontInst_Mac.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ +XeTeXFontInst_FT2.o: $(srcdir)/xetexdir/XeTeXFontInst_FT2.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(FONTCONFIGCPPFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +XeTeXOTMath.o: $(srcdir)/xetexdir/XeTeXOTMath.cpp $(XeTeXFontHdrs) + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(FONTCONFIGCPPFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +XeTeXGrLayout.o: $(srcdir)/xetexdir/XeTeXGrLayout.cpp $(srcdir)/xetexdir/XeTeXGrLayout.h \ + $(XeTeXFontHdrs) $(GRAPHITESRCDIR)/include/graphite/Font.h + $(CXX) $(ICUCFLAGS) $(FTFLAGS) $(FONTCONFIGCPPFLAGS) $(GRAPHITEFLAGS) $(ALL_CXXFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +# special rules for files that need the TECkit headers as well +XeTeX_ext.o: $(srcdir)/xetexdir/XeTeX_ext.c xetexd.h + $(compile) $(ICUCFLAGS) $(FTFLAGS) $(TECKITFLAGS) $(LIBPNGCPPFLAGS) $(LIBXPDFCPPFLAGS) $(ZLIBCPPFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) $(XETEX_GRAPHITE) -c $< -o $@ +XeTeX_mac.o: $(srcdir)/xetexdir/XeTeX_mac.c xetexd.h + $(compile) $(ICUCFLAGS) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +trans.o: $(srcdir)/xetexdir/trans.c + $(compile) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +# sync +synctex-xe.o: synctex-xe.c + $(compile) $(ALL_CFLAGS) $(TECKITFLAGS) $(FTFLAGS) $(XETEX_DEFINES) -c $< -o $@ + +# Making xetex. +xetex: $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) \ + $(GRAPHITEDEP) $(TECKITDEP) $(FREETYPE2DEP) $(ICUDEP) $(EXTRADEPS) + @CXXHACKLINK@ $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) \ + $(FONTCONFIGLDFLAGS) $(socketlibs) $(xetexlibs) $(EXTRALIBS) \ + @CXXHACKLDLIBS@ @CXXLDEXTRA@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ + + + +# Dumps +all_xefmts = xetex.fmt $(xefmts) + +dumps: @XETEX@ xefmts +xefmts: $(all_xefmts) + +xefmtdir = $(web2cdir)/xetex +$(xefmtdir):: + $(SHELL) $(top_srcdir)/../mkinstalldirs ${DESTDIR}$(xefmtdir) + +xetex.fmt: xetex + $(dumpenv) $(MAKE) progname=xetex files="xetex.ini unicode-letters.tex plain.tex cmr10.tfm" prereq-check + $(dumpenv) ./xetex --progname=xetex --jobname=xetex --ini \*\\input xetex.ini \\dump </dev/null + +xelatex.fmt: xetex + $(dumpenv) $(MAKE) progname=xelatex files="xelatex.ini unicode-letters.tex latex.ltx" prereq-check + $(dumpenv) ./xetex --progname=xelatex --jobname=xelatex --ini \*\\input xelatex.ini </dev/null + |