## texk/web2c/mplibdir/am/mplib.am: Makefile fragment for MetaPost.
##
## Copyright (C) 2009-2013 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.

## MetaPost
##
if MP
bin_PROGRAMS += mpost
if WIN32
noinst_PROGRAMS += call_mpost
install_exe_links += install-mpost-links
uninstall_exe_links += uninstall-mpost-links
else !WIN32
bin_links += mpost$(EXEEXT):dvitomp mpost$(EXEEXT):mfplain
endif !WIN32
endif MP
EXTRA_PROGRAMS += mpost

mpost_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) $(LIBPNG_INCLUDES) -I$(srcdir)/mplibdir
mpost_DEPENDENCIES = libmplib.a
mpost_LDADD = libmplib.a $(KPATHSEA_LIBS) $(CAIRO_LIBS) $(PIXMAN_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS)

call_mpost_CPPFLAGS = -DEXEPROG=\"mpost.exe\"
nodist_call_mpost_SOURCES = callexe.c
call_mpost_LDADD =

.PHONY: install-mpost-links uninstall-mpost-links
if WIN32
install-mpost-links: call_mpost$(EXEEXT)
	$(INSTALL_PROGRAM) call_mpost$(EXEEXT) $(DESTDIR)$(bindir)/dvitomp$(EXEEXT)
	$(INSTALL_PROGRAM) call_mpost$(EXEEXT) $(DESTDIR)$(bindir)/mfplain$(EXEEXT)
uninstall-mpost-links:
	rm -f $(DESTDIR)$(bindir)/dvitomp$(EXEEXT)
	rm -f $(DESTDIR)$(bindir)/mfplain$(EXEEXT)
endif WIN32

# Creating one file: just one rule
mp_ctangle = $(ctangle_silent)CWEBINPUTS=$(srcdir)/mplibdir $(ctangle)
# Creating several files: need stamp file and two rules with identical recipes
mp_ctangle_sh = CWEBINPUTS=$(srcdir)/mplibdir AM_V_P=$(AM_V_P) $(SHELL) ./tangle-sh $@ $(CTANGLE)

## MetaPost C sources
nodist_mpost_SOURCES = mpost.c $(mpxout_c_h)
mpxout_c_h = mpxout.c mpxout.h

mpost.c: ctangle$(EXEEXT) mplibdir/mpost.w
	$(mp_ctangle) mpost.w

$(mpxout_c_h): mpxout-tangle
	@$(mp_ctangle_sh) mpxout
mpxout-tangle: ctangle$(EXEEXT) mplibdir/mpxout.w tangle-sh
	@$(mp_ctangle_sh) mpxout

## MetaPost CWeb sources
mpost_web = mplibdir/mpost.w mplibdir/mpxout.w

$(mpost_OBJECTS): $(nodist_mpost_SOURCES) libmplib.a $(LIBPNG_DEPEND)

EXTRA_DIST += mplibdir/ChangeLog $(mpost_web)

DISTCLEANFILES += $(nodist_mpost_SOURCES) mpxout-tangle

## MetaPost Tests
##
mp_tests = mplibdir/dvitomp.test mplibdir/mptrap.test

EXTRA_DIST += $(mp_tests)

if MP
TESTS += $(mp_tests)
check_PROGRAMS += pltotf tftopl
TRIPTRAP += mptrap.diffs
TRIPTRAP_CLEAN += mptrap-clean
endif MP
DISTCLEANFILES += mptrap.diffs

## dvitomp.test
DISTCLEANFILES += ptmr.mpx tests/xptmr.mpx tests/xstory.mpx
## mptrap.test
mptrap.diffs: mpost$(EXEEXT)
	$(triptrap_diffs) $@
.PHONY: mptrap-clean
mptrap-clean:
	rm -rf mptrapdir

