# -*- mode: makefile -*-

#-
# Copyright (c) 2015, Howard Hughes Medical Institute
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all
# copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE
# AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
# OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

.SUFFIXES: .fo .pdf

#CPPFLAGS += -DHAVE_GETOPT_H -DHAVE_GETOPT_LONG
CPPFLAGS += -DGIT_BRANCH=$(git_branch) -DGIT_COMMIT=$(git_commit)
CFLAGS += -Wall
CXXFLAGS += -Wall
xsl_ns = http://docbook.sourceforge.net/release/xsl-ns/current


# XXX The commands to generate the GIT_BRANCH and GIT_COMMIT
# preprocessor definitions on a git installation and require make(1)
# to be run from a local repository.  Once the repository contains
# some tags, see GIT-VERSION-GEN from the git sources.
git_branch = "master"
git_commit = "6d546f9"


all: dm2smv tiff2smv tvips2smv

dm2smv: delta_t.o dm2smv.o frame.o util.o
	$(CC) $(LDFLAGS) -o $(@) $(^) -lm $(LOADLIBES) $(LDLIBS)

tiff2smv: delta_t.o frame.o tiff.o tiff2smv.o tvips.o util.o
	$(CC) $(LDFLAGS) -o $(@) $(^) -ltiff -lm $(LOADLIBES) $(LDLIBS)

tvips2smv: delta_t.o frame.o tvips2smv.o tvips.o util.o
	$(CC) $(LDFLAGS) -o $(@) $(^) -lm $(LOADLIBES) $(LDLIBS)


# man page rules.  These are not written as suffix rules, because a
# single rule may generate several targets.  To view the man pages, do
# something like "groff -man -T utf8 tiff2smv.1 | less".
tiff2smv.1: tiff2smv.1.xml
	xsltproc $(xsl_ns)/manpages/docbook.xsl $(<)

tiff2smv.fo: tiff2smv.1.xml
	xsltproc --xinclude $(xsl_ns)/fo/docbook.xsl $(<) > $(@)

.fo.pdf:
	fop -fo $(<) -pdf $(@)
