More thought. All these confusions come from the inability of commands to generate output files separatedly. This is perfect legal dependency tree because each input/output relationship is 1:1
+-> arith.c --+ arith.y -+ +-> arith.o +-> arith.h --+ If yacc can generate only either .c / .h, like yacc --src arith.y yacc --hdr arith.y We can write the rule straight. What we need is to have wrapper commands which extracts one of outputs. If a command generates 3 outputs from 4 inputs, we need 3 wrappers. Masao -- Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635