Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/bin/sh
> This added:
>
> arith.h: arith.c
> arith.c: arith.y
>
> I'm fairly sure this doesn't have the desired effect!
> In particular if arith.h doesn't exist, but arith.c does then you'll
> get a 'no rules to create arith.h' (or similar error).
>
> At least one of those dependencies must already exist! Otherwise
> the file would never have been generated!
True.
> Thinks ....
> It might be best have:
>
> arith.h: arith.y
> <yacc commands>
>
> arith.o: arith.h
> [ -f ${@:.o=c} ] || { rm ${@:.o=.h}; exit 1; }
> <commands to compile arith.c>
>
> ie having no real dependency against arith.c
Another idea would be always generate two outputs independently.
arith.c: tmp_arith_c.c:
tmp_arith_c.c: tmp_arith_c.y
tmp_arith_c.y: arith.y
cp arith.y tmp_arith_c.y
arith.h: tmp_arith_h.h:
tmp_arith_h.h: tmp_arith_h.y
tmp_arith_h.y: arith.y
cp arith.y tmp_arith_h.y
I can think of no problem of this. At the cost of redundancy (run command
twice + some tmp files) you get accurate dependency tree.
Masao
--
Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635
Home |
Main Index |
Thread Index |
Old Index