# Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc.
#      Written by Werner Lemberg (wl@gnu.org)
# 
# This file is part of groff.
# 
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

# These may be overridden if cross-compiling.
GROFFBIN=$(top_builddir)/src/roff/groff/groff
GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's|  *|$(SH_SEP)|g'`

groff_bin_dirs=\
  $(top_builddir)/src/roff/groff \
  $(top_builddir)/src/roff/troff \
  $(top_builddir)/src/preproc/eqn \
  $(top_builddir)/src/preproc/pic \
  $(top_builddir)/src/preproc/tbl \
  $(top_builddir)/src/devices/grops

FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac -M$(srcdir)
PFLAG=-t -p -e -U

GROFF=GROFF_COMMAND_PREFIX=''; \
      export GROFF_COMMAND_PREFIX; \
      GROFF_BIN_PATH=$(GROFF_BIN_PATH); \
      export GROFF_BIN_PATH; \
      $(GROFFBIN) $(FFLAG) $(TFLAG) $(PFLAG)

MAN7=\
  groff_hdtbl.n

# These files are processed with `strip.sed'.
STRIPFILES=\
  hdtbl.tmac \
  hdmisc.tmac

# These files are handled by the `.in.roff' rule.
GENFILES=\
  examples/fonts_n.roff \
  examples/fonts_x.roff

EXAMPLEFILES=\
  examples/common.roff \
  examples/chess_board.roff \
  examples/color_boxes.roff \
  examples/color_nested_tables.roff \
  examples/color_table_cells.roff \
  examples/color_transitions.roff \
  examples/col_rowspan_colors.roff \
  examples/mixed_pickles.roff \
  examples/rainbow.roff \
  examples/short_reference.roff

PROCESSEDEXAMPLEFILES=\
  examples/chess_board.ps \
  examples/color_boxes.ps \
  examples/color_nested_tables.ps \
  examples/color_table_cells.ps \
  examples/color_transitions.ps \
  examples/col_rowspan_colors.ps \
  examples/fonts_n.ps \
  examples/fonts_x.ps \
  examples/mixed_pickles.ps \
  examples/rainbow.ps \
  examples/short_reference.ps

EXAMPLEFILES_=`echo $(EXAMPLEFILES) | sed 's|examples/||g'`
GENFILES_=`echo $(GENFILES) | sed 's|examples/||g'`
PROCESSEDEXAMPLEFILES_=`echo $(PROCESSEDEXAMPLEFILES) | sed 's|examples/||g'`

MOSTLYCLEANADD=\
  gnu.eps \
  $(PROCESSEDEXAMPLEFILES) \
  $(GENFILES) \
  examples/stamp \
  stamp-strip \
  hdmisc.tmac-s hdtbl.tmac-s

.SUFFIXES: .roff .in .ps

.roff.ps:
	$(GROFF) -Tps -dfontpath=$(top_srcdir)/font -dsopath=$(srcdir)/ \
		 -mhdtbl $< >$@

.in.roff:
	sed -e "s|@fontdir@|$(fontdir)|" $< >$@


all: $(PROCESSEDEXAMPLEFILES) stamp-strip

$(PROCESSEDEXAMPLEFILES): gnu.eps examples/stamp examples/common.roff

gnu.eps:
	if test -f $(top_srcdir)/doc/gnu.eps; then \
	  cp $(top_srcdir)/doc/gnu.eps . ; \
	elif test -f $(top_builddir)/doc/gnu.eps; then \
	  cp $(top_builddir)/doc/gnu.eps . ; \
	else \
	  xpmtoppm $(top_srcdir)/doc/gnu.xpm | pnmdepth 15 | \
	    $(pnmtops_nosetpage) -noturn -rle >$@ ; \
	fi

examples/stamp:
	test -d examples || $(mkinstalldirs) examples
	touch $@

stamp-strip: $(STRIPFILES)
	for f in $(STRIPFILES); do \
	  rm -f $$f-s; \
	  sed -f $(top_srcdir)/tmac/strip.sed $(srcdir)/$$f >$$f-s; \
	done
	touch $@

install_data: $(STRIPFILES) $(EXAMPLEFILES) $(GENFILES) \
              $(PROCESSEDEXAMPLEFILES) gnu.eps stamp-strip
	-test -d $(DESTDIR)$(tmacdir) || $(mkinstalldirs) $(DESTDIR)$(tmacdir)
	for f in $(STRIPFILES); do \
	  rm -f $(DESTDIR)$(tmacdir)/$$f; \
	  $(INSTALL_DATA) $$f-s $(DESTDIR)$(tmacdir)/$$f; \
	done
	-test -d $(DESTDIR)$(exampledir)/hdtbl \
	  || $(mkinstalldirs) $(DESTDIR)$(exampledir)/hdtbl
	for f in $(EXAMPLEFILES_); do \
	  rm -f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
	  $(INSTALL_DATA) $(srcdir)/examples/$$f \
	    $(DESTDIR)$(exampledir)/hdtbl/$$f; \
	done
	for f in $(PROCESSEDEXAMPLEFILES_) $(GENFILES_); do \
	  rm -f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
	  $(INSTALL_DATA) examples/$$f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
	done
	$(INSTALL_DATA) gnu.eps $(DESTDIR)$(exampledir)/hdtbl/gnu.eps

uninstall_sub:
	-for f in $(STRIPFILES); do \
	  rm -f $(DESTDIR)$(tmacdir)/$$f; \
	done
	-for f in $(EXAMPLEFILES_) $(PROCESSEDEXAMPLEFILES_) \
                  $(GENFILES_); do \
	  rm -f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
	done
	-rm $(DESTDIR)$(exampledir)/hdtbl/gnu.eps
	-rmdir $(DESTDIR)$(exampledir)/hdtbl
