lnxdoc.rules revision 11d341ca
1XCOMM $XFree86: xc/config/cf/lnxdoc.rules,v 3.27 2003/01/15 03:17:29 dawes Exp $ 2XCOMM 3XCOMM Rules for formatting Linuxdoc-SGML documentation 4XCOMM 5 6#include <lnxdoc.tmpl> 7 8#ifdef DontInstallLinuxDoc 9#define LinuxDocInstall(file,dest) /* do nothing */ 10#define LinuxDocInstallMultiple(files,dest) /* do nothing */ 11#define LinuxDocInstallIfExists(file,dest) /* do nothing */ 12#else 13#define LinuxDocInstall(file,dest) InstallNonExecFile(file,dest) 14#define LinuxDocInstallMultiple(files,dest) @@\ 15InstallMultipleDest(install,files,dest) 16 17#define LinuxDocInstallIfExists(file,dir) @@\ 18install:: @@\ 19 MakeDir($(DESTDIR)dir) @@\ 20 @if [ -f file ]; then set -x; \ @@\ 21 $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) \ @@\ 22 file $(DESTDIR)dir; \ @@\ 23 fi 24#endif 25 26/* Version for sgmlfmt */ 27 28#if BuildLinuxDocPS 29#define LinuxDocSgmlToPs(sgmlfile,base) @@\ 30all:: base.ps PdfTarget(base) @@\ 31 @@\ 32base.ps: sgmlfile $(SGMLDEPENDS) @@\ 33 RemoveFile(_$@ $@) @@\ 34 @(BASE=`basename sgmlfile .sgml`;\ @@\ 35 set -x;\ @@\ 36 RemoveFile($$BASE.ps);\ @@\ 37 $(SGMLFMTCMD) -f ps sgmlfile && \ @@\ 38 $(MV) $$BASE.ps _$@ && $(MV) _$@ $@) @@\ 39 @@\ 40LinuxDocInstall(base.ps,$(XFREE86PSDOCDIR)) @@\ 41 @@\ 42ConvertPsToPdf(base) @@\ 43 @@\ 44LinuxDocInstallIfExists(base.pdf,$(XFREE86PDFDOCDIR)) @@\ 45 @@\ 46clean:: @@\ 47 RemoveFile(Concat(_,base.ps) base.ps) 48#else 49#define LinuxDocSgmlToPs(sgmlfile,base) /**/ 50#endif 51 52#if BuildLinuxDocText 53#define LinuxDocSgmlToText(sgmlfile,textfile) @@\ 54AllTarget(textfile) @@\ 55 @@\ 56textfile: sgmlfile $(SGMLDEPENDS) @@\ 57 RemoveFiles(_$@ $@) @@\ 58 @(BASE=`basename sgmlfile .sgml`;\ @@\ 59 set -x;\ @@\ 60 RemoveFile($$BASE.latin1);\ @@\ 61 $(SGMLFMTCMD) -f latin1 -b -n sgmlfile && \ @@\ 62 $(CVSIDENTFIX) < $$BASE.latin1 | $(XORGIDENTFIX) | $(XFREE86IDENTFIX) > _$@ && $(MV) _$@ $@ && \ @@\ 63 RemoveFile($$BASE.latin1)) @@\ 64 @@\ 65LinuxDocInstall(textfile,$(XFREE86DOCDIR)) @@\ 66 @@\ 67clean:: @@\ 68 @(file=textfile; set -x; RemoveFiles(_$$file $$file)) 69#else 70#define LinuxDocSgmlToText(sgmlfile,textfile) /**/ 71#endif 72 73#if BuildLinuxDocHtml 74#define LinuxDocSgmlToHtml(sgmlfile,base) @@\ 75AllTarget(base.html) @@\ 76 @@\ 77base.html: sgmlfile $(SGMLDEPENDS) @@\ 78 @if [ sgmlfile != base.sgml ]; then $(LN) sgmlfile base.sgml; fi @@\ 79 RemoveFiles(base*.html) @@\ 80 $(SGMLFMTCMD) -f html base.sgml || RemoveFile($@) @@\ 81 @if [ sgmlfile != base.sgml ]; then RemoveFile(base.sgml); fi @@\ 82 @@\ 83LinuxDocInstallMultiple(base*.html,$(XFREE86HTMLDOCDIR)) @@\ 84 @@\ 85clean:: @@\ 86 RemoveFiles(base*.html) 87#else 88#define LinuxDocSgmlToHtml(sgmlfile,base) /**/ 89#endif 90 91/* 92 * Rule for maintainers to use to updated formatted copies of docs in the 93 * source tree. Use with care. 94 */ 95 96#ifndef UpdateFormattedDocLong 97#define UpdateFormattedDocLong(textfile,dstdir,dstfile) @@\ 98update.docs:: textfile @@\ 99 -@if [ -f dstdir/dstfile ]; then \ @@\ 100 if [ "$(FORCEUPDATE)" = yes ]; then set -x; \ @@\ 101 if [ "$(FOLLOWLINK)" = no ]; then \ @@\ 102 $(RM) dstdir/dstfile; \ @@\ 103 fi; \ @@\ 104 cp textfile dstdir/dstfile; \ @@\ 105 echo "" >> dstdir/dstfile; \ @@\ 106 echo "\$$XdotOrg\$$" >> dstdir/dstfile; \ @@\ 107 else \ @@\ 108 $(RM) __tmp1__ __tmp2__; \ @@\ 109 fgrep -v "\$$XdotOrg:" textfile > __tmp1__; \ @@\ 110 fgrep -v "\$$XdotOrg:" dstdir/dstfile > __tmp2__; \ @@\ 111 if diff -B __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \ @@\ 112 else set -x; \ @@\ 113 if [ "$(FOLLOWLINK)" = no ]; then \ @@\ 114 $(RM) dstdir/dstfile; \ @@\ 115 fi; \ @@\ 116 cp textfile dstdir/dstfile ; \ @@\ 117 echo "" >> dstdir/dstfile; \ @@\ 118 echo "\$$XdotOrg"": \$$" >> dstdir/dstfile; \ @@\ 119 fi; \ @@\ 120 fi; \ @@\ 121 fi @@\ 122 @$(RM) __tmp1__ __tmp2__ 123#endif 124 125#ifndef UpdateFormattedDoc 126#define UpdateFormattedDoc(textfile,dstdir) @@\ 127UpdateFormattedDocLong(textfile,dstdir,textfile) 128#endif 129 130/* 131 * Avoid using LinuxDocTargetLong with base != sgmlfile because HTML 132 * index generation assumes that base == sgmlfile. 133 */ 134#define LinuxDocTargetLong(sgmlfile,textfile,base) @@\ 135LinuxDocSgmlToText(sgmlfile,textfile) @@\ 136LinuxDocSgmlToHtml(sgmlfile,base) @@\ 137LinuxDocSgmlToPs(sgmlfile,base) @@\ 138UpdateFormattedDoc(textfile,$(FORMATTEDDIR)) 139 140#define LinuxDocReadmeTarget(base) @@\ 141LinuxDocTargetLong(base.sgml,ReadmeFile(base),base) 142 143#define LinuxDocTarget(base) @@\ 144LinuxDocTargetLong(base.sgml,base,base) 145 146