zsh-workers
 help / color / mirror / code / Atom feed
* parallel makes
@ 1996-12-27 11:28 Zefram
  1996-12-28  0:25 ` Zoltan Hidvegi
  0 siblings, 1 reply; 2+ messages in thread
From: Zefram @ 1996-12-27 11:28 UTC (permalink / raw)
  To: Z Shell workers mailing list

Zoltan, consider your patch for parallel makes (the one which caused
unnecessary rebuilds).  The reason this caused extra rebuilds was that
dependencies went like

$(OBJS): proto

proto: FORCE
	# make prototypes

which behaved as if $(OBJS) depended on FORCE.  But we have other rules
like

init.o: zshpaths.h

zshpaths.h: FORCE
	# update zshpaths.h

that do not force rebuilds.  So I think you could get the effect you
wanted if you did something like

$(OBJS): .proto

.proto: FORCE
	# make prototypes

and included a .proto file in the distribution.  This system would have
the added benefit of totally confusing newcomers to the strange ways of
zsh Makefiles even more than they are already.

-zefram


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: parallel makes
  1996-12-27 11:28 parallel makes Zefram
@ 1996-12-28  0:25 ` Zoltan Hidvegi
  0 siblings, 0 replies; 2+ messages in thread
From: Zoltan Hidvegi @ 1996-12-28  0:25 UTC (permalink / raw)
  To: Zefram; +Cc: zsh-workers

Zefram wrote:
> that do not force rebuilds.  So I think you could get the effect you
> wanted if you did something like
> 
> $(OBJS): .proto
> 
> .proto: FORCE
> 	# make prototypes
> 
> and included a .proto file in the distribution.  This system would have
> the added benefit of totally confusing newcomers to the strange ways of
> zsh Makefiles even more than they are already.

Nice idea, which lead me to an even better solution: add $(PROTO)
proto-recursive dependencies to zsh.h or to prototypes.h.

It is really logical as prototypes.h does include $(PROTO) and every object
file already depends on in.  FORCE is not even necessary since
proto-recursive has no dependencies so it is always forced.  This idea is
so obvious that I do not know why I did not invented this before.

About the more and more complicated Makefile scripts: I think all scripts
that do not fit to a 24 lines terminal display should be moved from the
Makefile to separate scripts.  This makes the Makefile more readable and
the scripts more testable.  Add it would allow us to write even better
dependency rules :-).

Zoltan


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1996-12-28  0:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-12-27 11:28 parallel makes Zefram
1996-12-28  0:25 ` Zoltan Hidvegi

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).