Обсуждение: SGML makefile
Can I ask why we seem to build the HTML twice in the SGML makefile?
$(addsuffix .tar, $(BOOKS)):
$(MAKE) -C sgml clean
1) $(MAKE) -C sgml $(basename $@).html
2) $(MAKE) -C sgml $(basename $@).html JADEFLAGS='-V html-manifest'
cd sgml && $(TAR) -cf ../$@ `cat HTML.manifest` `echo *.gif | grep -v '\*'` *.css
I don't understand.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Can I ask why we seem to build the HTML twice in the SGML makefile?
I suspect that's to get the indexes right. Peter?
regards, tom lane
Bruce Momjian writes: > Can I ask why we seem to build the HTML twice in the SGML makefile? It's to resolve the index entries. Think LaTeX. -- Peter Eisentraut peter_e@gmx.net
> Bruce Momjian writes: > > > Can I ask why we seem to build the HTML twice in the SGML makefile? > > It's to resolve the index entries. Think LaTeX. OK, got it. LaTeX sometimes builds three times. :-) I added a comment to document the purpose. Thanks. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> I added a comment to document the purpose. Thanks.
Um ... is it portable to stick a comment into the body of a make
rule like that? Shell comments and make comments aren't always
the same.
regards, tom lane
> Bruce Momjian <pgman@candle.pha.pa.us> writes: > > I added a comment to document the purpose. Thanks. > > Um ... is it portable to stick a comment into the body of a make > rule like that? Shell comments and make comments aren't always > the same. I thought about that. Gmake texinfo manual says it is OK. I don't see any other uses of it in our source, though. --------------------------------------------------------------------------- The commands of a rule consist of shell command lines to be executed one by one. Each command line must start with a tab, except that the first command line may be attached to the target-and-prerequisites line with a semicolon in between. Blank lines and lines of just comments may appear among the command lines; they are ignored. (But beware, an apparently "blank" line that begins with a tab is _not_ blank! It is an empty command; *note Empty Commands::.) -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
I also see this. Looks OK: Users use many different shell programs, but commands in makefiles are always interpreted by `/bin/sh' unless the makefile specifies otherwise. *Note Command Execution: Execution. The shell that is in use determines whether comments can be written on command lines, and what syntax they use. When the shell is `/bin/sh', a `#' starts a comment that extends to the end of the line. The `#' does not have to be at the beginning of a line. Text on a line before a `#' is not part of the comment. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026