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)