Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: Re: duplicate targets in Makefile rule
- X-seq: zsh-workers 9665
- From: Adam Spiers <adam@xxxxxxxxxx>
- To: zsh workers mailing list <zsh-workers@xxxxxxxxxxxxxx>
- Subject: PATCH: Re: duplicate targets in Makefile rule
- Date: Thu, 10 Feb 2000 15:36:49 +0000
- In-reply-to: <E12Iucf-0000Ms-00@xxxxxxxxxxxxxxxxxx>
- Mail-followup-to: zsh workers mailing list <zsh-workers@xxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
- References: <20000210142311.A14018@xxxxxxxxxxxxxxxxxxxxxxx> <E12Iucf-0000Ms-00@xxxxxxxxxxxxxxxxxx>
- Reply-to: Adam Spiers <adam@xxxxxxxxxx>
Zefram (zefram@xxxxxxxx) wrote:
> Adam Spiers wrote:
> >+ifeq ($(sdir),.)
>
> This only works for certain makes. pmake, for example, doesn't have this
> conditional syntax.
Ah, right.
> I repeat the suggestion that we use a non-filename
> (e.g. "texi") instead of "zsh.texi" for the pseudo-target.
OK, here's an attempt at that. I haven't tested it with srcdir != `.'
yet though. If someone else could check it through I'd appreciate it.
While looking through this file, other issues occurred to me:
- The rule for zshall.1 contains a case switch on $@. Surely $@ will
always be zshall.1?
- If I understand it correctly, the man pages get built inside the
source tree rather than in $(sdir), but install.man tries to install
them from $(sdir). Also, install.html appears to assume that the
HTML file(s) get built inside the source tree. What's the correct
policy? Are all these docs platform-independent, and even if they
are, should they get built inside the source tree? Has anyone
actually attempted a build outside the source tree recently?
- When the relevant converters are run on a source file in another
directory, e.g. texi2info foo/bar.texi, where does the output get
sent? That's another reason for needing to test with sdir != `.',
but I'm going to have to leave that to someone else due to time
restrictions.
Index: Doc/Makefile.in
===================================================================
RCS file: /projects/zsh/zsh/Doc/Makefile.in,v
retrieving revision 1.1.1.60
diff -u -r1.1.1.60 Makefile.in
--- Doc/Makefile.in 2000/02/07 01:59:21 1.1.1.60
+++ Doc/Makefile.in 2000/02/10 15:13:44
@@ -51,7 +51,7 @@
# yodl documentation
-YODLDOC = $(MAN) zsh.texi
+YODLDOC = $(MAN) texi
MODDOCSRC = \
Zsh/mod_cap.yo Zsh/mod_clone.yo \
@@ -73,26 +73,31 @@
# ========== DEPENDENCIES FOR BUILDING ==========
-all: $(MAN) zsh.texi ../META-FAQ
+all: man texi ../META-FAQ
.PHONY: all
-everything: all zsh.dvi zsh_us.ps zsh_a4.ps zsh_toc.html
+everything: all dvi ps html
.PHONY: everything
-zsh.dvi: $(sdir)/zsh.texi
- $(TEXI2DVI) $(sdir)/zsh.texi
+dvi: $(sdir)/zsh.dvi
+.PHONY: dvi
-zsh.texi $(sdir)/zsh.texi:
- case $@ in \
- */*) target=$@ ;; \
- *) target=$(sdir)/$@ ;; \
- esac; \
- $(YODL) -o $$target -I$(sdir) -w ztexi.yo version.yo zsh.yo; \
- test -f $$target
+$(sdir)/zsh.dvi: $(sdir)/zsh.texi
+ $(TEXI2DVI) $<
+
+texi: $(sdir)/zsh.texi
+.PHONY: texi
+
+$(sdir)/zsh.texi:
+ $(YODL) -o $@ -I$(sdir) -w ztexi.yo version.yo zsh.yo; \
+ test -f $@
-zsh.info: $(sdir)/zsh.texi
- $(MAKEINFO) $(sdir)/zsh.texi
+info: $(sdir)/zsh.info
+.PHONY: info
+$(sdir)/zsh.info: $(sdir)/zsh.texi
+ $(MAKEINFO) $<
+
.yo.1:
case $@ in \
*/*) target=$@ ;; \
@@ -102,16 +107,28 @@
$(YODL) -I$(sdir) -w zman.yo version.yo $< | sed -e '1s/\\-/-/g' -e '/^\.'\''/d' > $$target \
;; esac; \
test -f $$target
+
+ps: us_ps a4_ps
+.PHONY: ps
+
+us_ps: $(sdir)/zsh_us.ps
+.PHONY: us_ps
-zsh_us.ps: zsh.dvi
- $(DVIPS) -t letter -o $@ zsh.dvi
+$(sdir)/zsh_us.ps: $(sdir)/zsh.dvi
+ $(DVIPS) -t letter -o $@ $<
-zsh_a4.ps: zsh.dvi
- $(DVIPS) -t a4 -o $@ zsh.dvi
+a4_ps: $(sdir)/zsh_a4.ps
+.PHONY: a4_ps
-zsh_toc.html: $(sdir)/zsh.texi
- $(TEXI2HTML) $(sdir)/zsh.texi
+$(sdir)/zsh_a4.ps: $(sdir)/zsh.dvi
+ $(DVIPS) -t a4 -o $@ $<
+html: $(sdir)/zsh_toc.html
+.PHONY: html
+
+$(sdir)/zsh_toc.html: $(sdir)/zsh.texi
+ $(TEXI2HTML) $<
+
zshall.1: zsh.yo
case $@ in \
*/*) target=$@ ;; \
@@ -129,8 +146,11 @@
test -f $(sdir_top)/META-FAQ
$(YODLDOC): version.yo
+
+$(sdir)/zsh.texi: $(YODLSRC)
-zsh.texi: $(YODLSRC)
+man: $(MAN)
+.PHONY: man
$(MAN): zmacros.yo zman.yo
@@ -225,7 +245,7 @@
.PHONY: uninstall
# install man pages, creating install directory if necessary
-install.man: $(MAN)
+install.man: man
$(sdir_top)/mkinstalldirs $(DESTDIR)$(mandir)/man1
for file in $(MAN); do \
$(INSTALL_DATA) $(sdir)/$$file $(DESTDIR)$(mandir)/man1/`echo $$file | sed 's|zsh|$(tzsh)|'` || exit 1; \
@@ -233,7 +253,7 @@
.PHONY: install.man
# install info pages, creating install directory if necessary
-install.info: zsh.texi
+install.info: texi
$(sdir_top)/mkinstalldirs $(DESTDIR)$(infodir)
rm -rf infodir
mkdir infodir
@@ -267,7 +287,7 @@
.PHONY: uninstall.info
# install HTML manual
-install.html: zsh_toc.html
+install.html: html
$(sdir_top)/mkinstalldirs $(DESTDIR)$(htmldir)
for file in zsh_*.html; do \
$(INSTALL_DATA) $$file $(DESTDIR)$(htmldir) || exit 1; \
Messages sorted by:
Reverse Date,
Date,
Thread,
Author