diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luatexlib.mk')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luatexlib.mk | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luatexlib.mk b/Build/source/texk/web2c/luatexdir/luatexlib.mk new file mode 100644 index 00000000000..b1239b203ba --- /dev/null +++ b/Build/source/texk/web2c/luatexdir/luatexlib.mk @@ -0,0 +1,214 @@ +## luatexlib.mk - Makefile fragment for libraries used by pdf[ex]tex. +# $Id$ +# Public domain. + +# The pdf*tex programs depend on a number of libraries. +# Include dependencies to get the built if we don't do make +# from the top-level directory. + +Makefile: luatexdir/luatexlib.mk + +# libz + +ZLIBDIR=../../libs/zlib +ZLIBSRCDIR=$(srcdir)/$(ZLIBDIR) +ZLIBDEP = @ZLIBDEP@ +LDZLIB = @LDZLIB@ + +$(ZLIBDIR)/libz.a: $(ZLIBSRCDIR) + cd $(ZLIBDIR) && $(MAKE) $(common_makeargs) libz.a + +# libpng + +LIBPNGDIR=../../libs/libpng +LIBPNGSRCDIR=$(srcdir)/$(LIBPNGDIR) +LIBPNGDEP = @LIBPNGDEP@ +LDLIBPNG = @LDLIBPNG@ + +$(LIBPNGDIR)/libpng.a: $(LIBPNGSRCDIR)/*.c + cd $(LIBPNGDIR) && $(MAKE) $(common_makeargs) libpng.a + + +# libxpdf + +LIBXPDFDIR=../../libs/xpdf +LIBXPDFSRCDIR=$(srcdir)/$(LIBXPDFDIR) +LIBXPDFDEP = @LIBXPDFDEP@ +LDLIBXPDF = @LDLIBXPDF@ + +$(LIBXPDFDIR)/fofi/libfofi.a: $(LIBXPDFSRCDIR)/fofi/*.cc \ + $(LIBXPDFSRCDIR)/fofi/*.h + cd $(LIBXPDFDIR)/fofi; $(MAKE) $(common_makeargs) libfofi.a +$(LIBXPDFDIR)/goo/libGoo.a: $(LIBXPDFSRCDIR)/goo/*.cc \ + $(LIBXPDFSRCDIR)/goo/*.c $(LIBXPDFSRCDIR)/goo/*.h + cd $(LIBXPDFDIR)/goo; $(MAKE) $(common_makeargs) libGoo.a +$(LIBXPDFDIR)/xpdf/libxpdf.a: $(LIBXPDFSRCDIR)/xpdf/*.cc \ + $(LIBXPDFSRCDIR)/xpdf/*.h + cd $(LIBXPDFDIR)/xpdf; $(MAKE) $(common_makeargs) libxpdf.a + + +# md5 + +LIBMD5DIR=../../libs/md5 +LIBMD5SRCDIR=$(srcdir)/$(LIBMD5DIR) +LIBMD5DEP=$(LIBMD5DIR)/md5.o + +$(LIBMD5DEP): $(LIBMD5SRCDIR)/md5.c $(LIBMD5SRCDIR)/md5.h +clean:: md5lib-clean +md5lib-clean: + rm -f $(LIBMD5DEP) + +# obsdcompat +LIBOBSDDIR=../../libs/obsdcompat +LIBOBSDSRCDIR=$(srcdir)/$(LIBOBSDCOMPATDIR) +LIBOBSDDEP=@LIBOBSDDEP@ +LDLIBOBSD=@LDLIBOBSD@ + +$(LIBOBSDDIR)/libopenbsd-compat.a: $(LIBOBSDSRCDIR)/*.c $(LIBOBSDSRCDIR)/*.h +# common_makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' $(XMAKEARGS) +# CFLAGS setzt libopenbsd-compat selbst, nicht durchreichen! + cd $(LIBOBSDDIR); $(MAKE) $(MFLAGS) $(XMAKEARGS) libopenbsd-compat.a + +# libpdf itself +pdflib = luatexdir/libpdf.a +pdflib_sources = $(srcdir)/luatexdir/*.c $(srcdir)/luatexdir/*.cc \ + $(srcdir)/luatexdir/*.h + +luatexdir/libpdf.a: $(pdflib_sources) luatexdir/luatexextra.h ctangle + cd luatexdir && mkdir -p font image lua lang tex && $(MAKE) $(common_makeargs) libpdf.a + +# makecpool: + +luatexdir/makecpool: luatexdir/makecpool.c + cd luatexdir && $(MAKE) $(common_makeargs) makecpool + +# lua + +LIBLUADIR=../../libs/lua51 +LIBLUASRCDIR=$(srcdir)/$(LIBLUADIR) +LIBLUADEP=$(LIBLUADIR)/liblua.a + +luatarget=posix +ifeq ($(target),i386-mingw32) + ifeq ($(host),i386-linux) + luatarget = mingwcross + else + luatarget = mingw + endif +else +ifeq ($(target),i386-linux) + luatarget = posix +endif +endif + + +$(LIBLUADEP): + mkdir -p $(LIBLUADIR) && cd $(LIBLUADIR) && cp -f $(LIBLUASRCDIR)/* . && $(MAKE) $(luatarget) + +# slnunicode +SLNUNICODEDIR=../../libs/slnunicode +SLNUNICODESRCDIR=$(srcdir)/$(SLNUNICODEDIR) +SLNUNICODEDEP=$(SLNUNICODEDIR)/slnunico.o +$(SLNUNICODEDEP): $(SLNUNICODEDIR)/slnunico.c $(SLNUNICODEDIR)/slnudata.c + mkdir -p $(SLNUNICODEDIR) && cd $(SLNUNICODEDIR) && cp -f $(SLNUNICODESRCDIR)/* . && $(CC) $(CFLAGS) -I$(LIBLUADIR) -o slnunico.o -c slnunico.c + +# zziplib + +# zziplib is a configuration nightmare, because it is so stubborn +# about using a pre-installed zlib. configure and make have to +# be fooled in two different ways. +# - configure needs to find +# the subdirs 'include' and 'lib' in the --with-zlib prefix, +# and these need to contain the proper headers and libraries. +# - make needs to find the right headers using an -I via CPPFLAGS, +# because the zlib path is relative and can't be found otherwise. +# +# final trickyness: configure writes a Makefile in the source +# directory. it is needed by anything, so I delete it right away + +zzipretarget= + +ifeq ($(target),i386-mingw32) + zzipretarget=--target=$(target) --build=$(target) --host=$(host) +endif + + +ZZIPLIBDIR=../../libs/zziplib +ZZIPLIBSRCDIR=$(srcdir)/$(ZZIPLIBDIR) +ZZIPLIBDEP = $(ZZIPLIBDIR)/zzip/libzzip.a + +$(ZZIPLIBDEP): $(ZZIPLIBSRCDIR) + mkdir -p $(ZZIPLIBDIR)/zzip && cd $(ZZIPLIBDIR)/zzip && \ + cp ../$(ZZIPLIBSRCDIR)/zzip/Makefile . && $(MAKE) $(common_makeargs) + +# luazip + +LUAZIPDIR=../../libs/luazip +LUAZIPSRCDIR=$(srcdir)/$(LUAZIPDIR) +LUAZIPDEP=$(LUAZIPDIR)/src/luazip.o +LUAZIPINC=-I../../lua51 -I../$(ZZIPLIBSRCDIR) -I../$(ZZIPLIBDIR) + +$(LUAZIPDEP): $(LUAZIPDIR)/src/luazip.c + mkdir -p $(LUAZIPDIR) && cd $(LUAZIPDIR) && cp -R $(LUAZIPSRCDIR)/* . && \ + cd src && $(CC) $(CFLAGS) $(LUAZIPINC) -g -o luazip.o -c luazip.c + +# luafilesystem + +LUAFSDIR=../../libs/luafilesystem +LUAFSSRCDIR=$(srcdir)/$(LUAFSDIR) +LUAFSDEP=$(LUAFSDIR)/src/lfs.o +LUAFSINC=-I../../lua51 + +$(LUAFSDEP): $(LUAFSDIR)/src/lfs.c $(LUAFSDIR)/src/lfs.h + mkdir -p $(LUAFSDIR) && cd $(LUAFSDIR) && cp -R $(LUAFSSRCDIR)/* . && \ + cd src && $(CC) $(CFLAGS) $(LUAFSINC) -g -o lfs.o -c lfs.c + +# luapeg +LUAPEGDIR=../../libs/luapeg +LUAPEGSRCDIR=$(srcdir)/$(LUAPEGDIR) +LUAPEGDEP=$(LUAPEGDIR)/lpeg.o +$(LUAPEGDEP): $(LUAPEGDIR)/lpeg.c + mkdir -p $(LUAPEGDIR) && cd $(LUAPEGDIR) && cp -f $(LUAPEGSRCDIR)/* . && $(CC) $(CFLAGS) -I$(LIBLUADIR) -g -o lpeg.o -c lpeg.c + + +# luamd5 +LUAMDVDIR=../../libs/luamd5 +LUAMDVSRCDIR=$(srcdir)/$(LUAMDVDIR) +LUAMDVDEP=$(LUAMDVDIR)/md5lib.o $(LUAMDVDIR)/md5.o +$(LUAMDVDEP): $(LUAMDVDIR)/md5lib.c $(LUAMDVDIR)/md5.h $(LUAMDVDIR)/md5.c + mkdir -p $(LUAMDVDIR) && cd $(LUAMDVDIR) && cp -f $(LUAMDVSRCDIR)/* . && $(CC) $(CFLAGS) -I$(LIBLUADIR) -g -o md5.o -c md5.c && $(CC) $(CFLAGS) -I$(LIBLUADIR) -g -o md5lib.o -c md5lib.c + +.PHONY: always + +# luaff +LUAFFDIR=../../libs/luafontforge +LUAFFSRCDIR=$(srcdir)/$(LUAFFDIR) +LUAFFDEP=$(LUAFFDIR)/libff.a +$(LUAFFDEP): always + mkdir -p $(LUAFFDIR) && cp -f $(LUAFFSRCDIR)/Makefile $(LUAFFDIR) + mkdir -p $(LUAFFDIR)/fontforge && cp -f $(LUAFFSRCDIR)/fontforge/fontforge/Makefile $(LUAFFDIR)/fontforge + mkdir -p $(LUAFFDIR)/Unicode && cp -f $(LUAFFSRCDIR)/fontforge/Unicode/Makefile $(LUAFFDIR)/Unicode + cd $(LUAFFDIR) && $(MAKE) + + +# luazlib +LUAZLIBDIR=../../libs/luazlib +LUAZLIBSRCDIR=$(srcdir)/$(LUAZLIBDIR) +LUAZLIBDEP=$(LUAZLIBDIR)/lgzip.o $(LUAZLIBDIR)/lzlib.o +LUAZLIBINC=-I$(ZLIBSRCDIR) -I$(LIBLUASRCDIR) +$(LUAZLIBDEP): $(LUAZLIBDIR)/lgzip.c $(LUAZLIBDIR)/lzlib.c + mkdir -p $(LUAZLIBDIR) && cd $(LUAZLIBDIR) && cp -f $(LUAZLIBSRCDIR)/* . && $(CC) $(CFLAGS) $(LUAZLIBINC) -g -o lgzip.o -c lgzip.c && $(CC) $(CFLAGS) $(LUAZLIBINC) -g -o lzlib.o -c lzlib.c + + +# Convenience variables. + +luatexlibs = $(pdflib) $(LDLIBPNG) $(LDZLIB) $(LDLIBXPDF) $(LIBMD5DEP) $(LDLIBOBSD) \ + $(LIBLUADEP) $(SLNUNICODEDEP) $(LUAZIPDEP) $(ZZIPLIBDEP) $(LUAFSDEP) \ + $(LUAPEGDEP) $(LUAMDVDEP) $(LUAZLIBDEP) $(LUAFFDEP) + +luatexlibsdep = $(pdflib) $(LIBPNGDEP) $(ZLIBDEP) $(LIBXPDFDEP) $(LIBMD5DEP) $(LIBOBSDDEP) \ + $(LIBLUADEP) $(SLNUNICODEDEP) $(ZZIPLIBDEP) $(LUAZIPDEP) $(LUAFSDEP) \ + $(LUAPEGDEP) $(LUAMDVDEP) $(LUAZLIBDEP) $(LUAFFDEP) $(makecpool) + +## end of luatexlib.mk - Makefile fragment for libraries used by pdf[ex]tex. + |