* duplicate targets in Makefile rule @ 2000-02-09 23:58 Adam Spiers 2000-02-10 9:57 ` Zefram 0 siblings, 1 reply; 13+ messages in thread From: Adam Spiers @ 2000-02-09 23:58 UTC (permalink / raw) To: zsh workers mailing list I'm puzzled by the following on line 85 of Doc/Makefile.in: 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 When is sdir not `.'? And when it is, make barfs with things like: make[1]: Entering directory `/mnt/hda7/usr_src/redhat/BUILD/zsh-3.1.6/Doc' Makefile:217: target `zsh.texi' given more than once in the same rule. make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/mnt/hda7/usr_src/redhat/BUILD/zsh-3.1.6/Doc' ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: duplicate targets in Makefile rule 2000-02-09 23:58 duplicate targets in Makefile rule Adam Spiers @ 2000-02-10 9:57 ` Zefram 2000-02-10 13:37 ` Adam Spiers 0 siblings, 1 reply; 13+ messages in thread From: Zefram @ 2000-02-10 9:57 UTC (permalink / raw) To: Adam Spiers; +Cc: zsh workers mailing list Adam Spiers wrote: >When is sdir not `.'? When you're compiling in a build tree separate from the source tree. -zefram ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: duplicate targets in Makefile rule 2000-02-10 9:57 ` Zefram @ 2000-02-10 13:37 ` Adam Spiers 2000-02-10 13:54 ` Andrej Borsenkow 0 siblings, 1 reply; 13+ messages in thread From: Adam Spiers @ 2000-02-10 13:37 UTC (permalink / raw) To: zsh workers mailing list Zefram (zefram@fysh.org) wrote: > Adam Spiers wrote: > >When is sdir not `.'? > > When you're compiling in a build tree separate from the source tree. I see ... so how can we stop make from complaining when sdir is `.' ? If we're compiling in a separate build tree then presumably we don't need a rule for the source tree version of zsh.texi, so can we just get rid of the zsh.texi target and leave the $(dir)/zsh.texi one? If we can, the patch is below. However noone else seems to have encountered a problem with this (and neither did I before Christmas), so it's more likely I've done something wrong. Any ideas what? 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 13:33:29 @@ -82,7 +82,7 @@ zsh.dvi: $(sdir)/zsh.texi $(TEXI2DVI) $(sdir)/zsh.texi -zsh.texi $(sdir)/zsh.texi: +$(sdir)/zsh.texi: case $@ in \ */*) target=$@ ;; \ *) target=$(sdir)/$@ ;; \ ^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: duplicate targets in Makefile rule 2000-02-10 13:37 ` Adam Spiers @ 2000-02-10 13:54 ` Andrej Borsenkow 2000-02-10 14:23 ` Adam Spiers 0 siblings, 1 reply; 13+ messages in thread From: Andrej Borsenkow @ 2000-02-10 13:54 UTC (permalink / raw) To: Adam Spiers, zsh workers mailing list > > Zefram (zefram@fysh.org) wrote: > > Adam Spiers wrote: > > >When is sdir not `.'? > > > > When you're compiling in a build tree separate from the source tree. > > I see ... so how can we stop make from complaining when sdir is `.' ? > If we're compiling in a separate build tree then presumably we don't > need a rule for the source tree version of zsh.texi, so can we just > get rid of the zsh.texi target and leave the $(dir)/zsh.texi one? If > we can, the patch is below. However noone else seems to have > encountered a problem with this (and neither did I before Christmas), > so it's more likely I've done something wrong. Any ideas what? > Sorry? Pls, see 9543, 9687, 9593 and more in this thread. 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. /andrej ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: duplicate targets in Makefile rule 2000-02-10 13:54 ` Andrej Borsenkow @ 2000-02-10 14:23 ` Adam Spiers 2000-02-10 14:31 ` Zefram 0 siblings, 1 reply; 13+ messages in thread From: Adam Spiers @ 2000-02-10 14:23 UTC (permalink / raw) To: zsh workers mailing list Andrej Borsenkow (Andrej.Borsenkow@mow.siemens.ru) 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)/$@ ;; \ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: duplicate targets in Makefile rule 2000-02-10 14:23 ` Adam Spiers @ 2000-02-10 14:31 ` Zefram 2000-02-10 15:36 ` PATCH: " Adam Spiers 0 siblings, 1 reply; 13+ messages in thread From: Zefram @ 2000-02-10 14:31 UTC (permalink / raw) To: Adam Spiers; +Cc: zsh workers mailing list Adam Spiers wrote: >-zsh.texi $(sdir)/zsh.texi: >+ifeq ($(sdir),.) >+ ZSHTEXIS=zsh.texi >+else >+ ZSHTEXIS=zsh.texi $(sdir)/zsh.texi >+endif >+ >+$(ZSHTEXIS): This only works for certain makes. pmake, for example, doesn't have this conditional syntax. I repeat the suggestion that we use a non-filename (e.g. "texi") instead of "zsh.texi" for the pseudo-target. -zefram ^ permalink raw reply [flat|nested] 13+ messages in thread
* PATCH: Re: duplicate targets in Makefile rule 2000-02-10 14:31 ` Zefram @ 2000-02-10 15:36 ` Adam Spiers 2000-02-10 15:43 ` Zefram 0 siblings, 1 reply; 13+ messages in thread From: Adam Spiers @ 2000-02-10 15:36 UTC (permalink / raw) To: zsh workers mailing list Zefram (zefram@fysh.org) 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; \ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: PATCH: Re: duplicate targets in Makefile rule 2000-02-10 15:36 ` PATCH: " Adam Spiers @ 2000-02-10 15:43 ` Zefram 2000-02-10 17:03 ` Adam Spiers 0 siblings, 1 reply; 13+ messages in thread From: Zefram @ 2000-02-10 15:43 UTC (permalink / raw) To: Adam Spiers; +Cc: zsh workers mailing list Adam Spiers wrote: >- 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). $(sdir) is the source tree. man pages and TeXinfo get built in the source tree, everything else should be in the build tree. -zefram ^ permalink raw reply [flat|nested] 13+ messages in thread
* PATCH: Re: duplicate targets in Makefile rule 2000-02-10 15:43 ` Zefram @ 2000-02-10 17:03 ` Adam Spiers 2000-02-10 17:11 ` Zefram 0 siblings, 1 reply; 13+ messages in thread From: Adam Spiers @ 2000-02-10 17:03 UTC (permalink / raw) To: zsh workers mailing list Zefram (zefram@fysh.org) wrote: > $(sdir) is the source tree. man pages and TeXinfo get built in the > source tree, everything else should be in the build tree. Doh, of course. In that case, apply this instead of 9665. 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 16:30:32 @@ -51,7 +51,7 @@ # yodl documentation -YODLDOC = $(MAN) zsh.texi +YODLDOC = $(MAN) texi MODDOCSRC = \ Zsh/mod_cap.yo Zsh/mod_clone.yo \ @@ -73,25 +73,30 @@ # ========== 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 +dvi: zsh.dvi +.PHONY: dvi + zsh.dvi: $(sdir)/zsh.texi - $(TEXI2DVI) $(sdir)/zsh.texi + $(TEXI2DVI) $< -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 +texi: $(sdir)/zsh.texi +.PHONY: texi + +$(sdir)/zsh.texi: + $(YODL) -o $@ -I$(sdir) -w ztexi.yo version.yo zsh.yo; \ + test -f $@ +info: zsh.info +.PHONY: info + zsh.info: $(sdir)/zsh.texi - $(MAKEINFO) $(sdir)/zsh.texi + $(MAKEINFO) $< .yo.1: case $@ in \ @@ -103,14 +108,26 @@ ;; esac; \ test -f $$target +ps: us_ps a4_ps +.PHONY: ps + +us_ps: zsh_us.ps +.PHONY: us_ps + zsh_us.ps: zsh.dvi - $(DVIPS) -t letter -o $@ zsh.dvi + $(DVIPS) -t letter -o $@ $< +a4_ps: zsh_a4.ps +.PHONY: a4_ps + zsh_a4.ps: zsh.dvi - $(DVIPS) -t a4 -o $@ zsh.dvi + $(DVIPS) -t a4 -o $@ $< + +html: zsh_toc.html +.PHONY: html zsh_toc.html: $(sdir)/zsh.texi - $(TEXI2HTML) $(sdir)/zsh.texi + $(TEXI2HTML) $< zshall.1: zsh.yo case $@ in \ @@ -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; \ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: PATCH: Re: duplicate targets in Makefile rule 2000-02-10 17:03 ` Adam Spiers @ 2000-02-10 17:11 ` Zefram 2000-02-21 2:12 ` Adam Spiers 0 siblings, 1 reply; 13+ messages in thread From: Zefram @ 2000-02-10 17:11 UTC (permalink / raw) To: Adam Spiers; +Cc: zsh workers mailing list Adam Spiers wrote: > zsh.dvi: $(sdir)/zsh.texi >- $(TEXI2DVI) $(sdir)/zsh.texi >+ $(TEXI2DVI) $< Not portable: $< does not portably exist (and is not at all meaningful) in an explicit rule. The original code here is the only safe way to do it. The only magic make variables that can be portably relied on are $@ (the target, available in all rules) and $< (the source, in implicit rules only). -zefram ^ permalink raw reply [flat|nested] 13+ messages in thread
* PATCH: Re: duplicate targets in Makefile rule 2000-02-10 17:11 ` Zefram @ 2000-02-21 2:12 ` Adam Spiers 2000-02-21 10:07 ` Zefram 0 siblings, 1 reply; 13+ messages in thread From: Adam Spiers @ 2000-02-21 2:12 UTC (permalink / raw) To: zsh workers mailing list Zefram (zefram@fysh.org) wrote: > Adam Spiers wrote: > > zsh.dvi: $(sdir)/zsh.texi > >- $(TEXI2DVI) $(sdir)/zsh.texi > >+ $(TEXI2DVI) $< > > Not portable: $< does not portably exist *sigh* You learn something every day. Why is it not meaningful though, out of curiosity? This patch is instead of 9669. It's been sitting in my postponed folder for weeks (forgot to send it when I wrote it), so I hope it's still good. Last time I sent patches in I probably broke the record for the most incorrect patches submitted to zsh-workers in one day... apologies in advance if there's STILL something wrong with this. 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 17:13:36 @@ -51,7 +51,7 @@ # yodl documentation -YODLDOC = $(MAN) zsh.texi +YODLDOC = $(MAN) texi MODDOCSRC = \ Zsh/mod_cap.yo Zsh/mod_clone.yo \ @@ -73,23 +73,28 @@ # ========== 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 +dvi: zsh.dvi +.PHONY: dvi + zsh.dvi: $(sdir)/zsh.texi $(TEXI2DVI) $(sdir)/zsh.texi -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 +texi: $(sdir)/zsh.texi +.PHONY: texi + +$(sdir)/zsh.texi: + $(YODL) -o $@ -I$(sdir) -w ztexi.yo version.yo zsh.yo; \ + test -f $@ +info: zsh.info +.PHONY: info + zsh.info: $(sdir)/zsh.texi $(MAKEINFO) $(sdir)/zsh.texi @@ -103,12 +108,24 @@ ;; esac; \ test -f $$target +ps: us_ps a4_ps +.PHONY: ps + +us_ps: zsh_us.ps +.PHONY: us_ps + zsh_us.ps: zsh.dvi $(DVIPS) -t letter -o $@ zsh.dvi +a4_ps: zsh_a4.ps +.PHONY: a4_ps + zsh_a4.ps: zsh.dvi $(DVIPS) -t a4 -o $@ zsh.dvi +html: zsh_toc.html +.PHONY: html + zsh_toc.html: $(sdir)/zsh.texi $(TEXI2HTML) $(sdir)/zsh.texi @@ -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; \ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: PATCH: Re: duplicate targets in Makefile rule 2000-02-21 2:12 ` Adam Spiers @ 2000-02-21 10:07 ` Zefram 2000-02-21 10:39 ` Adam Spiers 0 siblings, 1 reply; 13+ messages in thread From: Zefram @ 2000-02-21 10:07 UTC (permalink / raw) To: Adam Spiers; +Cc: zsh workers mailing list Adam Spiers wrote: >> Not portable: $< does not portably exist > >*sigh* You learn something every day. Why is it not meaningful >though, out of curiosity? There may be many (or no) dependencies in an explicit rule, whereas $< is defined (for an implicit rule) to expand to the exactly one dependency. -zefram ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: PATCH: Re: duplicate targets in Makefile rule 2000-02-21 10:07 ` Zefram @ 2000-02-21 10:39 ` Adam Spiers 0 siblings, 0 replies; 13+ messages in thread From: Adam Spiers @ 2000-02-21 10:39 UTC (permalink / raw) To: zsh workers mailing list Zefram (zefram@fysh.org) wrote: > Adam Spiers wrote: > >> Not portable: $< does not portably exist > > > >*sigh* You learn something every day. Why is it not meaningful > >though, out of curiosity? > > There may be many (or no) dependencies in an explicit rule, whereas $< > is defined (for an implicit rule) to expand to the exactly one dependency. I see. I've only ever used GNU make, so I'd unconsciously assumed that what the info pages say would be true for most makes: `$<' The name of the first dependency. If the target got its commands from an implicit rule, this will be the first dependency added by the implicit rule (*note Implicit Rules::.). ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2000-02-21 10:39 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2000-02-09 23:58 duplicate targets in Makefile rule Adam Spiers 2000-02-10 9:57 ` Zefram 2000-02-10 13:37 ` Adam Spiers 2000-02-10 13:54 ` Andrej Borsenkow 2000-02-10 14:23 ` Adam Spiers 2000-02-10 14:31 ` Zefram 2000-02-10 15:36 ` PATCH: " Adam Spiers 2000-02-10 15:43 ` Zefram 2000-02-10 17:03 ` Adam Spiers 2000-02-10 17:11 ` Zefram 2000-02-21 2:12 ` Adam Spiers 2000-02-21 10:07 ` Zefram 2000-02-21 10:39 ` Adam Spiers
Code repositories for project(s) associated with this public inbox https://git.vuxu.org/mirror/zsh/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).