Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: duplicate targets in Makefile rule



Andrej Borsenkow (Andrej.Borsenkow@xxxxxxxxxxxxxx) wrote:
> Sorry? Pls, see 9543, 9687, 9593 and more in this thread.

Hmm.  I did do a search on zsh-workers before I e-mailed the list
about this, but the engine came up with no matches, and for some
reason, I still can't get any query similar to
`zsh.texi;given;once;rule' to produce the relevant articles, even with
`partial match' switched on.  Anyway, thanks for the pointers, and
sorry for the extra noise.  Just for reference, I think you meant 9587
rather than 9687.

> The current problem is, zsh.texi should be in source dir (as it is supposed
> to exists even if user does not have yodl) - so, it belongs to src dir. The
> change you proposed make zsh.texi target name dependent on source dir
> location. So, it you want to rebuild just the texi, you'll have to know
> exact src location and type "make /path/to/source/dir/zsh.texi"
> 
> For this reason I suggested having standard targets man, texi, info etc and
> make them depend on actual files. Like
> 
> texi: $(sdir)/zsh.texi
> 
> $(sdir)/zsh.texi: ... (as currently)
> 
> Then you can just say "make texi" or "make man". Looks better to me :-)
> 
> So far there was no reply.

Maybe that's because you followed your suggestion with `That's what
bash does.' ;-)

Anyway, this needs to be resolved fairly swiftly, as presumably anyone
using gmake is currently unable to build the docs.  I don't know
enough about the Makefile structure in general to comment on your
suggestion, but here's another suggestion which feel free to shoot
down in flames :-)  It works for when sdir is `.', but is untested
otherwise.

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 14:16:11
@@ -82,7 +82,13 @@
 zsh.dvi: $(sdir)/zsh.texi
 	$(TEXI2DVI) $(sdir)/zsh.texi
 
-zsh.texi $(sdir)/zsh.texi:
+ifeq ($(sdir),.)
+	ZSHTEXIS=zsh.texi
+else
+	ZSHTEXIS=zsh.texi $(sdir)/zsh.texi
+endif
+
+$(ZSHTEXIS):
 	case $@ in \
 	  */*) target=$@ ;; \
 	  *) target=$(sdir)/$@ ;; \



Messages sorted by: Reverse Date, Date, Thread, Author