SGML makefile

Started by Bruce Momjianover 24 years ago7 messagesdocs
Jump to latest
#1Bruce Momjian
bruce@momjian.us

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
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#1)
Re: SGML makefile

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

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Bruce Momjian (#1)
Re: SGML makefile

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

#4Bruce Momjian
bruce@momjian.us
In reply to: Peter Eisentraut (#3)
Re: SGML makefile

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
#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#4)
Re: SGML makefile

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

#6Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#5)
Re: SGML makefile

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
#7Bruce Momjian
bruce@momjian.us
In reply to: Bruce Momjian (#6)
Re: SGML makefile

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