Makefile.sub revision 114402
1# Copyright (C) 2002, 2003 Free Software Foundation, Inc. 2# Written by Werner Lemberg <wl@gnu.org> 3# 4# This file is part of groff. 5# 6# groff is free software; you can redistribute it and/or modify it under 7# the terms of the GNU General Public License as published by the Free 8# Software Foundation; either version 2, or (at your option) any later 9# version. 10# 11# groff is distributed in the hope that it will be useful, but WITHOUT ANY 12# WARRANTY; without even the implied warranty of MERCHANTABILITY or 13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14# for more details. 15# 16# You should have received a copy of the GNU General Public License along 17# with groff; see the file COPYING. If not, write to the Free Software 18# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 20# These may be overridden if cross-compiling. 21GROFFBIN=$(top_builddir)/src/roff/groff/groff 22GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'` 23 24# Since info files are distributed within the groff package, no 25# autoconf test for the makeinfo binary is done. 26MAKEINFO=makeinfo 27 28groff_bin_dirs=\ 29 $(top_builddir)/src/roff/groff \ 30 $(top_builddir)/src/roff/troff \ 31 $(top_builddir)/src/preproc/pic \ 32 $(top_builddir)/src/preproc/eqn \ 33 $(top_builddir)/src/preproc/tbl \ 34 $(top_builddir)/src/preproc/grn \ 35 $(top_builddir)/src/preproc/refer \ 36 $(top_builddir)/src/preproc/soelim \ 37 $(top_builddir)/src/preproc/html \ 38 $(top_builddir)/src/devices/grops \ 39 $(top_builddir)/src/devices/grohtml 40 41FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font 42TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac 43 44GROFF=\ 45 GROFF_COMMAND_PREFIX=''; \ 46 export GROFF_COMMAND_PREFIX; \ 47 GROFF_BIN_PATH=$(GROFF_BIN_PATH); \ 48 export GROFF_BIN_PATH; \ 49 sed -e "s;@VERSION@;$(version)$(revision);" $< \ 50 | $(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww 51 52DOCFILES=\ 53 meref.me \ 54 meintro.me \ 55 pic.ms 56 57PROCESSEDDOCFILES=\ 58 meref.ps \ 59 meintro.ps \ 60 pic.ps 61 62HTMLDOCFILES=\ 63 pic.html 64 65HTMLDOCIMAGEFILES=\ 66 pic* 67 68EXAMPLEFILES=\ 69 webpage.ms \ 70 grnexmpl.g \ 71 grnexmpl.me 72 73PROCESSEDEXAMPLEFILES=\ 74 webpage.ps \ 75 grnexmpl.ps 76 77HTMLEXAMPLEFILES=\ 78 webpage.html 79 80HTMLEXAMPLEIMAGEFILES=\ 81 webpage* 82 83imagedir=img 84htmldocimagedir=$(htmldocdir)/$(imagedir) 85exampleimagedir=$(exampledir)/$(imagedir) 86 87CLEANADD=\ 88 $(PROCESSEDDOCFILES) \ 89 $(PROCESSEDEXAMPLEFILES) \ 90 $(HTMLEXAMPLEFILES) \ 91 $(HTMLDOCFILES) 92 93CLEANDIRADD=\ 94 $(imagedir) 95 96CLEANNOTSRCDIRADD=\ 97 grnexmpl.g \ 98 groff \ 99 groff-* \ 100 gnu.eps \ 101 gnu.png 102 103.SUFFIXES: .me .ms .ps .html 104 105# For simplicity, we always call grn and eqn. 106.me.ps: 107 $(GROFF) -Tps -ge -me >$@ 108 109.ms.html: 110 $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \ 111 -P-D$(imagedir) -Thtml -ms >$@ 112.ms.ps: 113 $(GROFF) -Tps -ms -mwww >$@ 114 115 116all: groff $(PROCESSEDDOCFILES) prepare_examples \ 117 $(PROCESSEDEXAMPLEFILES) $(make_html) 118 119html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES) 120 121prepare_examples: grnexmpl.g 122 test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g . 123 124groff: groff.texinfo 125 $(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo 126 127gnu.eps: gnu.xpm 128 xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | \ 129 $(pnmtops_nosetpage) -noturn -rle >$@ 130gnu.png: gnu.xpm 131 xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@ 132 133webpage.html: webpage.ms gnu.png 134webpage.ps: gnu.eps 135 136grnexmpl.ps: grnexmpl.me grnexmpl.g 137 138distfiles: groff gnu.eps gnu.png 139 140install_data: groff $(DOCFILES) $(PROCESSEDDOCFILES) $(make_install_html) \ 141 $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES) 142 -test -d $(infodir) || $(mkinstalldirs) $(infodir) 143# Prefer info files in builddir over srcdir; we test for 144# the existence of `groff'. 145 d=.; \ 146 test -f "groff" || d=$(srcdir); \ 147 for f in $$d/groff $$d/groff-*; do \ 148 rm -f $(infodir)/`basename $$f`; \ 149 $(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \ 150 done 151 $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/groff 152 -test -d $(docdir) || $(mkinstalldirs) $(docdir) 153 for f in $(DOCFILES); do \ 154 rm -f $(docdir)/$$f; \ 155 $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \ 156 done 157 for f in $(PROCESSEDDOCFILES); do \ 158 rm -f $(docdir)/$$f; \ 159 $(INSTALL_DATA) $$f $(docdir)/$$f; \ 160 done 161 -test -d $(exampledir) || $(mkinstalldirs) $(exampledir) 162 for f in $(EXAMPLEFILES); do \ 163 rm -f $(exampledir)/$$f; \ 164 $(INSTALL_DATA) $(srcdir)/$$f $(exampledir)/$$f; \ 165 done 166 for f in $(PROCESSEDEXAMPLEFILES); do \ 167 rm -f $(exampledir)/$$f; \ 168 $(INSTALL_DATA) $$f $(exampledir)/$$f; \ 169 done 170 171install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES) 172 -test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir) 173 for f in $(HTMLDOCFILES); do \ 174 rm -f $(htmldocdir)/$$f; \ 175 $(INSTALL_DATA) $$f $(htmldocdir)/$$f; \ 176 done 177 -test -d $(htmldocimagedir) || $(mkinstalldirs) $(htmldocimagedir) 178 rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES) 179 $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) $(htmldocimagedir) 180 -test -d $(exampledir) || $(mkinstalldirs) $(exampledir) 181 for f in $(HTMLEXAMPLEFILES); do \ 182 rm -f $(exampledir)/$$f; \ 183 $(INSTALL_DATA) $$f $(exampledir)/$$f; \ 184 done 185 -test -d $(exampleimagedir) || $(mkinstalldirs) $(exampleimagedir) 186 rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES) 187 $(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) $(exampleimagedir) 188 189uninstall_sub: 190 -for f in groff groff-*; do \ 191 rm -f $(infodir)/$$f; \ 192 done 193 $(INSTALL_INFO) --delete --info-dir=$(infodir) $(infodir)/groff 194 -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \ 195 rm -f $(docdir)/$$f; \ 196 done 197 -for f in $(HTMLDOCFILES); do \ 198 rm -f $(htmldocdir)/$$f; \ 199 done 200 -rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES) 201 -rmdir $(htmldocimagedir) 202 -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \ 203 rm -f $(exampledir)/$$f; \ 204 done 205 -rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES) 206 -rmdir $(exampleimagedir) 207