## texk/web2c/am/texmf.am: Makefile fragment for TeX and MF. ## ## Copyright (C) 2009 Peter Breitenlohner ## You may freely use, modify and/or distribute this file. ## Common for MF and TeX EXTRA_DIST += \ lib/mfmpi386.asm \ lib/mfmpw32.c \ lib/texmfmp.c \ texmfmem.h \ texmfmp-help.h \ texmfmp.h ## TeX ## if TEX bin_PROGRAMS += tex endif TEX EXTRA_PROGRAMS += tex tex_CPPFLAGS = # With --enable-ipc, TeX may need to link with -lsocket. tex_LDADD = $(LDADD) $(ipc_socketlibs) # TeX C sources tex_c_h = texini.c tex0.c tex1.c tex2.c texcoerce.h texd.h nodist_tex_SOURCES = $(tex_c_h) tex-pool.c texextra.c # We must create texd.h before building the tex_OBJECTS. $(tex_OBJECTS): texd.h $(tex_c_h): tex-web2c tex-web2c: tex.p $(web2c_texmf) $(web2c) tex : $(synctex_convert_tex) echo timestamp >$@ touch $(tex_c_h) tex-pool.c: tex.pool $(makecpool_stamp) tmf-pool.h $(makecpool) tex.pool $(srcdir)/tmf-pool.h >$@ || rm -f $@ texextra.c: lib/texmfmp.c texd.h sed s/TEX-OR-MF-OR-MP/tex/ $(srcdir)/lib/texmfmp.c >$@ # Tangling TeX tex.p tex.pool: tex-tangle tex-tangle: tangle$(EXEEXT) tex.web tex-final.ch $(tangle) tex.web tex-final.ch echo timestamp >$@ touch tex.p tex.pool ## Generate tex-final.ch tex-final.ch: tie$(EXEEXT) $(tex_ch_srcs) $(tie) -c $@ $(tex_ch_srcs) tex_ch_srcs = \ tex.web \ tex.ch \ $(tex_ch_synctex) \ tex-binpool.ch ## EXTRA_DIST += $(tex_ch_srcs) lib/texmfmp.c tmf-pool.h DISTCLEANFILES += $(nodist_tex_SOURCES) tex-final.ch tex-web2c \ tex.p tex.pool tex-tangle ## TeX Tests ## tex_tests = trip.test EXTRA_DIST += $(tex_tests) if TEX TESTS += $(tex_tests) check_PROGRAMS += dvitype pltotf tftopl endif TEX .PHONY: trip-clean clean-local:: trip-clean ## trip.test trip-clean: rm -f trip.tfm trip.pl trip.tex trip.fmt tripin.fot tripin.log rm -f trip.fot trip.log trip.dvi trip.typ tripos.tex 8terminal.tex rm -rf tfm ## Metafont ## if MF bin_PROGRAMS += mf if MFN bin_PROGRAMS += mf-nowin endif MFN endif MF EXTRA_PROGRAMS += mf mf-nowin nodist_mf_SOURCES = mfextra.c mf_CPPFLAGS = $(X_CFLAGS) mf_LDADD = libmf.a $(LDADD) $(windowlib) $(mf_x_libs) if MFN nodist_mf_nowin_SOURCES = mfextra.c mf_nowin_CPPFLAGS = $(X_CFLAGS) -DMFNOWIN mf_nowin_LDADD = libmf.a $(LDADD) $(windowlib) endif MFN windowlib = window/libwindow.a $(windowlib): mfd.h $(srcdir)/window/*.c cd window && $(MAKE) $(AM_MAKEFLAGS) libwindow.a ## Make `#include ' and `-lX...' work. ## This matches xdvik. ## wlibs is substituted by web2c's configure, LIBS by general configure ## routines, and the others by AC_PATH_XTRA. ## All the x_... and X_... variables will be empty if we aren't supporting X. ## Follow the library order used in X11R6 itself: ## -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 (some may not be present). mf_x_libs = $(X_LIBS) $(x_tool_libs) $(X_PRE_LIBS) $(x_ext_lib) $(wlibs) $(X_EXTRA_LIBS) ## mf and mf-nowin compile mfextra.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 += libmf.a # Metafont C sources mf_c_h = mfini.c mf0.c mf1.c mfcoerce.h mfd.h nodist_libmf_a_SOURCES = $(mf_c_h) mf-pool.c libmf_a_CPPFLAGS = -DMETA_FONT # We must create mfd.h before building the libmf_a_OBJECTS. $(libmf_a_OBJECTS): mfd.h $(mf_c_h): mf-web2c mf-web2c: mf.p $(web2c_texmf) web2c/cvtmf1.sed web2c/cvtmf2.sed $(web2c) mf echo timestamp >$@ touch $(mf_c_h) mf-pool.c: mf.pool $(makecpool_stamp) tmf-pool.h $(makecpool) mf.pool $(srcdir)/tmf-pool.h >$@ || rm -f $@ mfextra.c: lib/texmfmp.c mfd.h sed s/TEX-OR-MF-OR-MP/mf/ $(srcdir)/lib/texmfmp.c >$@ # Tangling Metafont mf.p mf.pool: mf-tangle mf-tangle: tangle$(EXEEXT) mf.web mf-final.ch $(tangle) mf.web mf-final.ch echo timestamp >$@ touch mf.p mf.pool # Generate mf-final.ch mf-final.ch: tie$(EXEEXT) mf.web mf.ch mf-binpool.ch $(tie) -c $@ mf.web mf.ch mf-binpool.ch ## EXTRA_DIST += mf.web mf-binpool.ch mf.ch mftalk.h lib/texmfmp.c tmf-pool.h DISTCLEANFILES += $(nodist_libmf_a_SOURCES) mfextra.c mf-final.ch mf-web2c \ mf.p mf.pool mf-tangle ## Metafont Tests ## mf_tests = trap.test EXTRA_DIST += $(mf_tests) if MF TESTS += $(mf_tests) check_PROGRAMS += gftype tftopl endif MF .PHONY: trap-clean clean-local:: trap-clean ## trap.test trap-clean: rm -f trap.mf trap.base rm -f mftrapin.fot mftrapin.log rm -f mftrap.fot mftrap.log mftrap.tfm rm -f mftrap.pl trap.72270gf trap.typ ## Test data ## EXTRA_DIST += \ triptrap/README \ triptrap/mftrap.diffs \ triptrap/mftrap.fot \ triptrap/mftrap.log \ triptrap/mftrap.pl \ triptrap/mftrap1.in \ triptrap/mftrap2.in \ triptrap/mftrapin.log \ triptrap/mptrap.diffs \ triptrap/mptrap.fot \ triptrap/mptrap.log \ triptrap/mptrap.pl \ triptrap/mptrap.readme \ triptrap/mptrap1.in \ triptrap/mptrap2.in \ triptrap/mptrapin.log \ triptrap/mtrap.0 \ triptrap/mtrap.1 \ triptrap/mtrap.log \ triptrap/mtrap.mp \ triptrap/texmf.cnf \ triptrap/trap.148 \ triptrap/trap.149 \ triptrap/trap.150 \ triptrap/trap.151 \ triptrap/trap.197 \ triptrap/trap.200 \ triptrap/trap.5 \ triptrap/trap.6 \ triptrap/trap.mf \ triptrap/trap.mp \ triptrap/trap.mpx \ triptrap/trap.typ \ triptrap/trapf.pl \ triptrap/trapman.tex \ triptrap/trip.diffs \ triptrap/trip.fot \ triptrap/trip.log \ triptrap/trip.pl \ triptrap/trip.tex \ triptrap/trip.typ \ triptrap/trip1.in \ triptrap/trip2.in \ triptrap/tripin.log \ triptrap/tripman.tex \ triptrap/tripos.tex \ triptrap/writeo \ triptrap/writeo.2