diff options
Diffstat (limited to 'util/cf/lnxdoc.rules')
-rw-r--r-- | util/cf/lnxdoc.rules | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/util/cf/lnxdoc.rules b/util/cf/lnxdoc.rules new file mode 100644 index 000000000..a538920df --- /dev/null +++ b/util/cf/lnxdoc.rules @@ -0,0 +1,145 @@ +XCOMM $XFree86: xc/config/cf/lnxdoc.rules,v 3.27 2003/01/15 03:17:29 dawes Exp $ +XCOMM +XCOMM Rules for formatting Linuxdoc-SGML documentation +XCOMM + +#include <lnxdoc.tmpl> + +#ifdef DontInstallLinuxDoc +#define LinuxDocInstall(file,dest) /* do nothing */ +#define LinuxDocInstallMultiple(files,dest) /* do nothing */ +#define LinuxDocInstallIfExists(file,dest) /* do nothing */ +#else +#define LinuxDocInstall(file,dest) InstallNonExecFile(file,dest) +#define LinuxDocInstallMultiple(files,dest) @@\ +InstallMultipleDest(install,files,dest) + +#define LinuxDocInstallIfExists(file,dir) @@\ +install:: @@\ + MakeDir($(DESTDIR)dir) @@\ + @if [ -f file ]; then set -x; \ @@\ + $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) \ @@\ + file $(DESTDIR)dir; \ @@\ + fi +#endif + +/* Version for sgmlfmt */ + +#if BuildLinuxDocPS +#define LinuxDocSgmlToPs(sgmlfile,base) @@\ +all:: base.ps PdfTarget(base) @@\ + @@\ +base.ps: sgmlfile $(SGMLDEPENDS) @@\ + RemoveFile(_$@ $@) @@\ + @(BASE=`basename sgmlfile .sgml`;\ @@\ + set -x;\ @@\ + RemoveFile($$BASE.ps);\ @@\ + $(SGMLFMTCMD) -f ps sgmlfile && \ @@\ + $(MV) $$BASE.ps _$@ && $(MV) _$@ $@) @@\ + @@\ +LinuxDocInstall(base.ps,$(XFREE86PSDOCDIR)) @@\ + @@\ +ConvertPsToPdf(base) @@\ + @@\ +LinuxDocInstallIfExists(base.pdf,$(XFREE86PDFDOCDIR)) @@\ + @@\ +clean:: @@\ + RemoveFile(Concat(_,base.ps) base.ps) +#else +#define LinuxDocSgmlToPs(sgmlfile,base) /**/ +#endif + +#if BuildLinuxDocText +#define LinuxDocSgmlToText(sgmlfile,textfile) @@\ +AllTarget(textfile) @@\ + @@\ +textfile: sgmlfile $(SGMLDEPENDS) @@\ + RemoveFiles(_$@ $@) @@\ + @(BASE=`basename sgmlfile .sgml`;\ @@\ + set -x;\ @@\ + RemoveFile($$BASE.latin1);\ @@\ + $(SGMLFMTCMD) -f latin1 -b -n sgmlfile && \ @@\ + $(CVSIDENTFIX) < $$BASE.latin1 | $(XORGIDENTFIX) | $(XFREE86IDENTFIX) > _$@ && $(MV) _$@ $@ && \ @@\ + RemoveFile($$BASE.latin1)) @@\ + @@\ +LinuxDocInstall(textfile,$(XFREE86DOCDIR)) @@\ + @@\ +clean:: @@\ + @(file=textfile; set -x; RemoveFiles(_$$file $$file)) +#else +#define LinuxDocSgmlToText(sgmlfile,textfile) /**/ +#endif + +#if BuildLinuxDocHtml +#define LinuxDocSgmlToHtml(sgmlfile,base) @@\ +AllTarget(base.html) @@\ + @@\ +base.html: sgmlfile $(SGMLDEPENDS) @@\ + @if [ sgmlfile != base.sgml ]; then $(LN) sgmlfile base.sgml; fi @@\ + RemoveFiles(base*.html) @@\ + $(SGMLFMTCMD) -f html base.sgml || RemoveFile($@) @@\ + @if [ sgmlfile != base.sgml ]; then RemoveFile(base.sgml); fi @@\ + @@\ +LinuxDocInstallMultiple(base*.html,$(XFREE86HTMLDOCDIR)) @@\ + @@\ +clean:: @@\ + RemoveFiles(base*.html) +#else +#define LinuxDocSgmlToHtml(sgmlfile,base) /**/ +#endif + +/* + * Rule for maintainers to use to updated formatted copies of docs in the + * source tree. Use with care. + */ + +#ifndef UpdateFormattedDocLong +#define UpdateFormattedDocLong(textfile,dstdir,dstfile) @@\ +update.docs:: textfile @@\ + -@if [ -f dstdir/dstfile ]; then \ @@\ + if [ "$(FORCEUPDATE)" = yes ]; then set -x; \ @@\ + if [ "$(FOLLOWLINK)" = no ]; then \ @@\ + $(RM) dstdir/dstfile; \ @@\ + fi; \ @@\ + cp textfile dstdir/dstfile; \ @@\ + echo "" >> dstdir/dstfile; \ @@\ + echo "\$$XdotOrg\$$" >> dstdir/dstfile; \ @@\ + else \ @@\ + $(RM) __tmp1__ __tmp2__; \ @@\ + fgrep -v "\$$XdotOrg:" textfile > __tmp1__; \ @@\ + fgrep -v "\$$XdotOrg:" dstdir/dstfile > __tmp2__; \ @@\ + if diff -B __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \ @@\ + else set -x; \ @@\ + if [ "$(FOLLOWLINK)" = no ]; then \ @@\ + $(RM) dstdir/dstfile; \ @@\ + fi; \ @@\ + cp textfile dstdir/dstfile ; \ @@\ + echo "" >> dstdir/dstfile; \ @@\ + echo "\$$XdotOrg"": \$$" >> dstdir/dstfile; \ @@\ + fi; \ @@\ + fi; \ @@\ + fi @@\ + @$(RM) __tmp1__ __tmp2__ +#endif + +#ifndef UpdateFormattedDoc +#define UpdateFormattedDoc(textfile,dstdir) @@\ +UpdateFormattedDocLong(textfile,dstdir,textfile) +#endif + +/* + * Avoid using LinuxDocTargetLong with base != sgmlfile because HTML + * index generation assumes that base == sgmlfile. + */ +#define LinuxDocTargetLong(sgmlfile,textfile,base) @@\ +LinuxDocSgmlToText(sgmlfile,textfile) @@\ +LinuxDocSgmlToHtml(sgmlfile,base) @@\ +LinuxDocSgmlToPs(sgmlfile,base) @@\ +UpdateFormattedDoc(textfile,$(FORMATTEDDIR)) + +#define LinuxDocReadmeTarget(base) @@\ +LinuxDocTargetLong(base.sgml,ReadmeFile(base),base) + +#define LinuxDocTarget(base) @@\ +LinuxDocTargetLong(base.sgml,base,base) + |