summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/pmpostdir/am/pmpost.am
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/pmpostdir/am/pmpost.am')
-rw-r--r--Build/source/texk/web2c/pmpostdir/am/pmpost.am193
1 files changed, 193 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/pmpostdir/am/pmpost.am b/Build/source/texk/web2c/pmpostdir/am/pmpost.am
new file mode 100644
index 00000000000..f7e60851bf4
--- /dev/null
+++ b/Build/source/texk/web2c/pmpostdir/am/pmpost.am
@@ -0,0 +1,193 @@
+## texk/web2c/pmpostdir/am/pmpost.am: Makefile fragment for pMetaPost.
+##
+## Copyright 2018 Karl Berry <tex-live@tug.org>
+## Copyright 2014-2015 Peter Breitenlohner <tex-live@tug.org>
+## You may freely use, modify and/or distribute this file.
+
+## pMetaPost and upMetaPost
+##
+if PMP
+bin_PROGRAMS += pmpost
+if WIN32
+noinst_PROGRAMS += call_pmpost
+install_exe_links += install-pmpost-links
+uninstall_exe_links += uninstall-pmpost-links
+else !WIN32
+bin_links += pmpost$(EXEEXT):pdvitomp
+bin_links += pmpost$(EXEEXT):r-pmpost
+endif !WIN32
+endif PMP
+if UPMP
+bin_PROGRAMS += upmpost
+if WIN32
+noinst_PROGRAMS += call_upmpost
+install_exe_links += install-upmpost-links
+uninstall_exe_links += uninstall-upmpost-links
+else !WIN32
+bin_links += upmpost$(EXEEXT):updvitomp
+bin_links += upmpost$(EXEEXT):r-upmpost
+endif !WIN32
+endif UPMP
+EXTRA_PROGRAMS += pmpost upmpost
+
+call_pmpost_CPPFLAGS = -DEXEPROG=\"pmpost.exe\"
+nodist_call_pmpost_SOURCES = callexe.c
+call_pmpost_LDADD =
+
+call_upmpost_CPPFLAGS = -DEXEPROG=\"upmpost.exe\"
+nodist_call_upmpost_SOURCES = callexe.c
+call_upmpost_LDADD =
+
+pmpost_CPPFLAGS = $(MPFR_INCLUDES) $(GMP_INCLUDES) $(CAIRO_INCLUDES) $(PIXMAN_INCLUDES) \
+ $(LIBPNG_INCLUDES) $(ZLIB_INCLUDES) $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/mplibdir
+pmpost_LDADD = $(PTEXENC_LIBS) $(KPATHSEA_LIBS) $(MPFR_LIBS) $(GMP_LIBS) \
+ $(CAIRO_LIBS) $(PIXMAN_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) libmputil.a
+
+upmpost_CPPFLAGS = -DUPMP $(pmpost_CPPFLAGS)
+upmpost_LDADD = $(pmpost_LDADD)
+
+.PHONY: install-pmpost-links install-upmpost-links uninstall-pmpost-links uninstall-upmpost-links
+if WIN32
+install-pmpost-links: call_pmpost$(EXEEXT)
+ $(INSTALL_PROGRAM) call_pmpost$(EXEEXT) $(DESTDIR)$(bindir)/pdvitomp$(EXEEXT)
+install-upmpost-links: call_upmpost$(EXEEXT)
+ $(INSTALL_PROGRAM) call_upmpost$(EXEEXT) $(DESTDIR)$(bindir)/updvitomp$(EXEEXT)
+uninstall-pmpost-links:
+ rm -f $(DESTDIR)$(bindir)/pdvitomp$(EXEEXT)
+uninstall-upmpost-links:
+ rm -f $(DESTDIR)$(bindir)/updvitomp$(EXEEXT)
+endif WIN32
+
+# Creating one file: just one rule
+pmp_ctangle = $(ctangle_silent)CWEBINPUTS=.:$(srcdir)/pmpostdir $(ctangle)
+# Creating several files: need stamp file and two rules with identical recipes
+pmp_ctangle_sh = CWEBINPUTS=.:$(srcdir)/pmpostdir AM_V_P=$(AM_V_P) $(SHELL) ./tangle-sh $@ $(CTANGLE)
+
+## pMetaPost C sources
+nodist_pmpost_SOURCES = $(pmp_c_h) $(pmpmath_c_h) $(pmpmathbinary_c_h) $(pmpmathdecimal_c_h) \
+ $(pmpmathdouble_c_h) pmpost.c $(pmpstrings_c_h) $(pmpxout_c_h) \
+ $(ppngout_c_h) $(ppsout_c_h) $(psvgout_c_h) ptfmin.c
+pmp_c_h = pmp.c pmplib.h pmpmp.h
+pmpmath_c_h = pmpmath.c pmpmath.h
+pmpmathbinary_c_h = pmpmathbinary.c pmpmathbinary.h
+pmpmathdecimal_c_h = pmpmathdecimal.c pmpmathdecimal.h
+pmpmathdouble_c_h = pmpmathdouble.c pmpmathdouble.h
+pmpstrings_c_h = pmpstrings.h pmpstrings.c
+pmpxout_c_h = pmpxout.c pmpxout.h
+ppngout_c_h = pmplibpng.h pmppngout.h ppngout.c
+ppsout_c_h = pmppsout.h ppsout.c pmplibps.h
+psvgout_c_h = pmplibsvg.h pmpsvgout.h psvgout.c
+
+## upMetaPost C sources
+nodist_upmpost_SOURCES = $(nodist_pmpost_SOURCES)
+
+# sed script
+pmp_sed_main = 's/mpxout\.h/pmpxout.h/;s/mpmp\.h/pmpmp.h/;s/mplib\.h/pmplib.h/;s/mpstrings\.h/pmpstrings.h/'
+pmp_sed_math = 's/mpmath\([a-z]*\)\.h/pmpmath\1.h/'
+pmp_sed_ps = 's/mplibps\.h/pmplibps.h/;s/mppsout\.h/pmppsout.h/'
+pmp_sed_svg = 's/mplibsvg\.h/pmplibsvg.h/;s/mpsvgout\.h/pmpsvgout.h/'
+pmp_sed_png = 's/mplibpng\.h/pmplibpng.h/;s/mppngout\.h/pmppngout.h/'
+pmp_sed = sed -e $(pmp_sed_main) -e $(pmp_sed_math) -e $(pmp_sed_ps) -e $(pmp_sed_svg) -e $(pmp_sed_png)
+
+pmp.w: mplibdir/mp.w
+ $(AM_V_GEN)$(pmp_sed) $(srcdir)/mplibdir/mp.w >$@
+pmpmath.c: mpmath.c
+ $(AM_V_GEN)$(pmp_sed) mpmath.c >$@
+pmpmath.h: mpmath.h
+ $(AM_V_GEN)$(pmp_sed) mpmath.h >$@
+pmpmathbinary.c: mpmathbinary.c
+ $(AM_V_GEN)$(pmp_sed) mpmathbinary.c >$@
+pmpmathbinary.h: mpmathbinary.h
+ $(AM_V_GEN)$(pmp_sed) mpmathbinary.h >$@
+pmpmathdecimal.c: mpmathdecimal.c
+ $(AM_V_GEN)$(pmp_sed) mpmathdecimal.c >$@
+pmpmathdecimal.h: mpmathdecimal.h
+ $(AM_V_GEN)$(pmp_sed) mpmathdecimal.h >$@
+pmpmathdouble.c: mpmathdouble.c
+ $(AM_V_GEN)$(pmp_sed) mpmathdouble.c >$@
+pmpmathdouble.h: mpmathdouble.h
+ $(AM_V_GEN)$(pmp_sed) mpmathdouble.h >$@
+pmpost.w: mplibdir/mpost.w
+ $(AM_V_GEN)$(pmp_sed) $(srcdir)/mplibdir/mpost.w >$@
+pmpstrings.c: mpstrings.c
+ $(AM_V_GEN)$(pmp_sed) mpstrings.c >$@
+pmpstrings.h: mpstrings.h
+ $(AM_V_GEN)$(pmp_sed) mpstrings.h >$@
+pmpxout.w: mplibdir/mpxout.w
+ $(AM_V_GEN)$(pmp_sed) $(srcdir)/mplibdir/mpxout.w >$@
+pmplibpng.h: mplibpng.h
+ $(AM_V_GEN)$(pmp_sed) mplibpng.h >$@
+pmppngout.h: mppngout.h
+ $(AM_V_GEN)$(pmp_sed) mppngout.h >$@
+ppngout.c: pngout.c
+ $(AM_V_GEN)$(pmp_sed) pngout.c >$@
+ppsout.w: mplibdir/psout.w
+ $(AM_V_GEN)$(pmp_sed) $(srcdir)/mplibdir/psout.w >$@
+psvgout.w: mplibdir/svgout.w
+ $(AM_V_GEN)$(pmp_sed) $(srcdir)/mplibdir/svgout.w >$@
+ptfmin.w: mplibdir/tfmin.w
+ $(AM_V_GEN)$(pmp_sed) $(srcdir)/mplibdir/tfmin.w >$@
+
+# Creating one file: just one rule
+pmpost.c: ctangle$(EXEEXT) pmpost.w pmpostdir/pmpost.ch
+ $(pmp_ctangle) pmpost pmpost
+ptfmin.c: ctangle$(EXEEXT) ptfmin.w pmpostdir/ptfmin.ch
+ $(pmp_ctangle) ptfmin ptfmin
+
+# Creating several files: need stamp file and two rules with identical recipes
+$(pmp_c_h): pmp-tangle
+ @$(pmp_ctangle_sh) pmp pmp
+pmp-tangle: ctangle$(EXEEXT) pmp.w pmpostdir/pmp.ch tangle-sh
+ @$(pmp_ctangle_sh) pmp pmp
+
+$(pmpxout_c_h): pmpxout-tangle
+ @$(pmp_ctangle_sh) pmpxout pmpxout
+pmpxout-tangle: ctangle$(EXEEXT) pmpxout.w pmpostdir/pmpxout.ch tangle-sh
+ @$(pmp_ctangle_sh) pmpxout pmpxout
+
+$(ppsout_c_h): ppsout-tangle
+ @$(pmp_ctangle_sh) ppsout ppsout
+ppsout-tangle: ctangle$(EXEEXT) ppsout.w pmpostdir/ppsout.ch tangle-sh
+ @$(pmp_ctangle_sh) ppsout ppsout
+
+$(psvgout_c_h): psvgout-tangle
+ @$(pmp_ctangle_sh) psvgout psvgout
+psvgout-tangle: ctangle$(EXEEXT) psvgout.w pmpostdir/psvgout.ch tangle-sh
+ @$(pmp_ctangle_sh) psvgout psvgout
+
+## pMetaPost CWeb sources
+pmpost_web = pmpostdir/pmp.ch pmpostdir/pmpost.ch pmpostdir/pmpxout.ch pmpostdir/ppsout.ch \
+ pmpostdir/psvgout.ch pmpostdir/ptfmin.ch
+
+$(pmpost_OBJECTS) $(upmpost_OBJECTS): $(nodist_pmpost_SOURCES) $(PTEXENC_DEPEND) \
+ $(LIBPNG_DEPEND) $(CAIRO_DEPEND) $(MPFR_DEPEND)
+
+EXTRA_DIST += pmpostdir/ChangeLog $(pmpost_web)
+
+DISTCLEANFILES += $(nodist_pmpost_SOURCES) \
+ pmp.w pmpost.w pmpxout.w ppsout.w psvgout.w ptfmin.w \
+ pmp-tangle pmpxout-tangle ppsout-tangle psvgout-tangle
+
+## (u)pMetaPost Tests
+##
+pmpost_tests = pmpostdir/pmpost.test pmpostdir/pmpsamp.test
+pmpostdir/pmpost.log pmpostdir/pmpsamp.log: pmpost$(EXEEXT)
+upmpost_tests = pmpostdir/upmpost.test pmpostdir/upmpsamp.test
+pmpostdir/upmpost.log pmpostdir/upmpsamp.log: upmpost$(EXEEXT)
+
+EXTRA_DIST += $(pmpost_tests) $(upmpost_tests)
+
+if PMP
+TESTS += $(pmpost_tests)
+endif PMP
+if UPMP
+TESTS += $(upmpost_tests)
+endif UPMP
+
+EXTRA_DIST += pmpostdir/tests/psample.mp
+EXTRA_DIST += pmpostdir/README pmpostdir/README.old.ja pmpostdir/Changes.old.ja
+## pmpostdir/pmpsamp.test
+DISTCLEANFILES += pmpsamp.*
+## pmpostdir/upmpsamp.test
+DISTCLEANFILES += upmpsamp.*
+