## texk/web2c/mfluadir/am/mflua.am: Makefile fragment for MFLua. ## ## Copyright 2016 Karl Berry ## Copyright 2015 Peter Breitenlohner ## You may freely use, modify and/or distribute this file. ## MFLua ## if MFLUA bin_PROGRAMS += mflua if MFLUAN bin_PROGRAMS += mflua-nowin endif MFLUAN if WIN32 noinst_PROGRAMS += call_mflua install_exe_links += install-mflua-links uninstall_exe_links += uninstall-mflua-links else !WIN32 if !MFLUAN bin_links += mflua$(EXEEXT):mflua-nowin endif !MFLUAN endif !WIN32 endif MFLUA EXTRA_PROGRAMS += mflua mflua-nowin DISTCLEANFILES += mfluatrap.diffs call_mflua_CPPFLAGS = -DEXEPROG=\"mflua.exe\" nodist_call_mflua_SOURCES = callexe.c call_mflua_LDADD = .PHONY: install-mflua-links uninstall-mflua-links if WIN32 install-mflua-links: call_mflua$(EXEEXT) if !MFLUAN $(INSTALL_PROGRAM) call_mflua$(EXEEXT) $(DESTDIR)$(bindir)/mflua-nowin$(EXEEXT) endif !MFLUAN uninstall-mflua-links: if !MFLUAN rm -f $(DESTDIR)$(bindir)/mflua-nowin$(EXEEXT) endif !MFLUAN endif WIN32 dist_mflua_SOURCES = mfluadir/mfluaextra.c mfluadir/mfluaextra.h mfluadir/mflua_version.h mflua_CPPFLAGS = $(AM_CPPFLAGS) $(X_CFLAGS) $(LUA_INCLUDES) mflua_LDADD = libmflua.a libmfluaotfcc.a $(LDADD) $(windowlib) $(mf_x_libs) $(LUA_LIBS) mflua_LDFLAGS = -export-dynamic nodist_mflua_nowin_SOURCES = $(dist_mflua_SOURCES) mflua_nowin_CPPFLAGS = $(mflua_CPPFLAGS) -DMFNOWIN $(LUA_INCLUDES) mflua_nowin_LDADD = libmflua.a libmfluaotfcc.a $(LDADD) $(windowlib) $(LUA_LIBS) mflua_nowin_LDFLAGS = -export-dynamic # We must create mfluad.h and mfluadir/mflua_version.h before compiling mfluaextra.c. $(mflua_OBJECTS) $(mflua_nowin_OBJECTS): mfluad.h mfluadir/mflua_version.h ## mflua and mflua-nowin compile mfluaextra.c with different CPPFLAGS. ## Automake, however, does not support CPPFLAGS for individual source files. ## To avoid compiling everything twice, the common objects are in a library. EXTRA_LIBRARIES += libmflua.a libmfluaotfcc.a # MFLua C sources mflua_c_h = mfluaini.c mflua0.c mfluacoerce.h mfluad.h dist_libmflua_a_SOURCES = luatexdir/lua/lkpselib.c mfluadir/mfluac.c mfluadir/mfluac.h nodist_libmflua_a_SOURCES = $(mflua_c_h) mflua-pool.c libmflua_a_CPPFLAGS = $(AM_CPPFLAGS) $(LUA_INCLUDES) -DMF_LUA # We must create mfluad.h before building the libmflua_a_OBJECTS. $(libmflua_a_OBJECTS): mfluad.h $(mflua_c_h): mflua-web2c @$(web2c) mflua mflua-web2c: mflua.p $(web2c_texmf) web2c/cvtmf1.sed web2c/cvtmf2.sed mfluadir/mflua.defines $(LUA_DEPEND) @$(web2c) mflua mflua-pool.c: mflua.pool mfluad.h $(makecpool_stamp) $(makecpool) mflua >$@ || rm -f $@ # Tangling MFLua mflua.p mflua.pool: mflua-tangle @$(texmf_tangle) mflua mflua mflua-tangle: tangle$(EXEEXT) mflua.web mflua.ch tangle-sh @$(texmf_tangle) mflua mflua # Extract mflua version $(srcdir)/mfluadir/mflua_version.h: @MAINTAINER_MODE_TRUE@ mfluadir/mf-lua.ch $(AM_V_GEN)grep '^@d MFLua_version_string==' $(srcdir)/mfluadir/mf-lua.ch \ | sed "s/^.*'-/#define MFLUA_VERSION \"/;s/'.*$$/\"/" >$@ # Generate mflua.web mflua.web: tie$(EXEEXT) $(mflua_web_srcs) $(tie_m) $(mflua_web_srcs) mflua_web_srcs = \ mf.web \ mfluadir/mf-lua.ch # Generate mflua.ch mflua.ch: tie$(EXEEXT) mflua.web $(mflua_ch_src) $(tie_c) mflua.web $(mflua_ch_src) mflua_ch_src = \ mf.ch \ mfluadir/mflua-m.ch \ mf-binpool.ch ## EXTRA_DIST += $(mflua_web_srcs) $(mflua_ch_src) mfluadir/mflua.defines DISTCLEANFILES += $(nodist_libmflua_a_SOURCES) mflua.web mflua.ch mflua-web2c \ mflua.p mflua.pool mflua-tangle EXTRA_DIST += \ mfluadir/ChangeLog # MFLua tests # mflua_tests = mfluadir/mfluatraptest.test mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) EXTRA_DIST += $(mflua_tests) if MFLUA TESTS += $(mflua_tests) TRIPTRAP += mfluatrap.diffs TRIPTRAP_CLEAN += mfluatrap-clean endif MFLUA DISTCLEANFILES += mfluatrap.diffs ## mfluadir/mfluatraptest mfluatrap.diffs: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) $(triptrap_diffs) $@ .PHONY: mfluatrap-clean mfluatrap-clean: rm -rf mfluatrapdir ## Test data ## EXTRA_DIST += \ mfluadir/mfluatrap/mflua.lua \ mfluadir/mfluatrap/mflua_svg_backend.lua \ mfluadir/mfluatrap/mflua_ttx_backend.lua \ mfluadir/mfluatrap/texmf.cnf \ mfluadir/mfluatrap/mfluatrap.diffs