another Makefile fix

Stephen Weeks MLton@sourcelight.com
Thu, 4 Oct 2001 10:01:38 -0700


> I'm o.k. with this; it does remove the MAKECMDGOALS hack.  So, the
> proposal would have:
> 
> .PHONY:	cm
> cm: src/yacc.lex.sml src/yacc.grm.sig src/yacc.grm.sml
> 	(								\
> 		echo 'Group is' &&					\
> 		cmcat sources.cm | grep -v 'mlton-stubs-in-smlnj' &&	\
> 		echo 'call-main.sml';					\
> 	) >$(NAME).cm

I don't like this because of your example 2

> (clean sources, mlyacc.cm doesn't exist): make
> mlton: mlyacc.cm does not exist
> make: *** No rule to make target `mlyacc.cm', needed by `mlyacc'.  Stop.

I think that this should build src/yacc.lex.sml and friends, then mlyacc.cm,
then mlyacc.

> I don;t know what is the intended behaviour in the second case.  I'm o.k.
> with make failing when mlyacc.cm doesn't exist and the only way to create
> mlyacc.cm is by the explicit make cm.

I can live with this, since the Makefile is cleaner.  Go ahead and check it in.