## texk/web2c/am/texmf.am: Makefile fragment for TeX and MF. ## ## Copyright (C) 2009-2012 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 if WIN32 bin_PROGRAMS += initex else !WIN32 bin_links += tex$(EXEEXT):initex endif !WIN32 endif TEX EXTRA_PROGRAMS += tex initex_CPPFLAGS = -DEXEPROG=\"tex.exe\" initex_SOURCES = $(srcdir)/../texlive/w32_wrapper/callexe.c initex_LDADD = tex_CPPFLAGS = $(AM_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 texcoerce.h texd.h nodist_tex_SOURCES = $(tex_c_h) tex-pool.c dist_tex_SOURCES = texextra.c # We must create texd.h before building the tex_OBJECTS. tex_prereq = texd.h $(tex_OBJECTS): $(tex_prereq) $(tex_c_h): tex-web2c @$(web2c) tex tex-web2c: tex.p $(web2c_texmf) @$(web2c) tex tex-pool.c: tex.pool texd.h $(makecpool_stamp) $(makecpool) tex >$@ || rm -f $@ # Tangling TeX tex.p tex.pool: tex-tangle @$(texmf_tangle) tex tex-final tex-tangle: tangle$(EXEEXT) tex.web tex-final.ch tangle-sh @$(texmf_tangle) tex tex-final # Generate tex-final.ch tex-final.ch: tie$(EXEEXT) $(tex_ch_srcs) $(tie) -c $@ $(tex_ch_srcs) tex_ch_srcs = \ tex.web \ tex.ch \ enctex.ch \ $(tex_ch_synctex) \ tex-binpool.ch ## EXTRA_DIST += $(tex_ch_srcs) DISTCLEANFILES += $(nodist_tex_SOURCES) tex-final.ch tex-web2c \ tex.p tex.pool tex-tangle # TeX tests # tex_tests = trip.test tests/write18-quote-test.pl EXTRA_DIST += $(tex_tests) EXTRA_DIST += tests/write18-quote.tex if TEX TESTS += $(tex_tests) check_PROGRAMS += dvitype pltotf tftopl TRIPTRAP += trip.diffs TRIPTRAP_CLEAN += trip-clean endif TEX DISTCLEANFILES += trip.diffs ## tests/write18-quote-test.pl DISTCLEANFILES += write18-quote.log ## trip.test trip.diffs: tex$(EXEEXT) $(triptrap_diffs) $@ .PHONY: trip-clean 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 if WIN32 bin_PROGRAMS += inimf else !WIN32 bin_links += mf$(EXEEXT):inimf endif !WIN32 endif MF EXTRA_PROGRAMS += mf mf-nowin DISTCLEANFILES += mftrap.diffs inimf_CPPFLAGS = -DEXEPROG=\"mf.exe\" inimf_SOURCES = $(srcdir)/../texlive/w32_wrapper/callexe.c inimf_LDADD = dist_mf_SOURCES = mfextra.c mf_CPPFLAGS = $(AM_CPPFLAGS) $(X_CFLAGS) mf_LDADD = libmf.a $(LDADD) $(windowlib) $(mf_x_libs) dist_mf_nowin_SOURCES = mfextra.c mf_nowin_CPPFLAGS = $(mf_CPPFLAGS) -DMFNOWIN mf_nowin_LDADD = libmf.a $(LDADD) $(windowlib) # We must create mfd.h before compiling mfextra.c. $(mf_OBJECTS) $(mf_nowin_OBJECTS): mfd.h windowlib = window/libwindow.a $(windowlib): mfd.h $(srcdir)/window/*.c cd window && $(MAKE) $(AM_MAKEFLAGS) libwindow.a if WIN32 mf_x_libs = -lgdi32 else !WIN32 # 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) endif !WIN32 ## 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 mfcoerce.h mfd.h nodist_libmf_a_SOURCES = $(mf_c_h) mf-pool.c # We must create mfd.h before building the libmf_a_OBJECTS. $(libmf_a_OBJECTS): mfd.h $(mf_c_h): mf-web2c @$(web2c) mf mf-web2c: mf.p $(web2c_texmf) web2c/cvtmf1.sed web2c/cvtmf2.sed @$(web2c) mf mf-pool.c: mf.pool mfd.h $(makecpool_stamp) $(makecpool) mf >$@ || rm -f $@ # Tangling Metafont mf.p mf.pool: mf-tangle @$(texmf_tangle) mf mf-final mf-tangle: tangle$(EXEEXT) mf.web mf-final.ch tangle-sh @$(texmf_tangle) mf mf-final # Generate mf-final.ch mf-final.ch: tie$(EXEEXT) $(mf_ch_src) $(tie) -c $@ $(mf_ch_src) mf_ch_src = \ mf.web \ mf.ch \ mf-binpool.ch ## EXTRA_DIST += $(mf_ch_src) mftalk.h DISTCLEANFILES += $(nodist_libmf_a_SOURCES) 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 TRIPTRAP += mftrap.diffs TRIPTRAP_CLEAN += trap-clean endif MF ## trap.test mftrap.diffs: mf$(EXEEXT) $(triptrap_diffs) $@ .PHONY: trap-clean 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