www.digitalmars.com         C & C++   DMDScript  

c++.command-line - smake inference limited to 1 level

reply Larry Brasfield <larry_brasfield snotmail.com> writes:
This report documents a bug in Smake.exe .

Suppose I have a Makefile resembling:
.fdb.cpp :
	perl font_db_xlate.pl < $< > $ 

.cpp.obj :
       sc -c $<

app.exe : main.obj font0816.obj
	link ...

Suppose main.cpp exists and font0816.fdb exists
in a form which can be successfully translated
(by font_db_xlate.pl) to font0816.cpp , and that
font0816.cpp does not yet exist.

Suppose I then run Smake against this Makefile.
Smake will not deduce the necessity to create
font0816.cpp via the 1st inference rule and
will complain about not being able to build
font0816.obj .  Likewise, it will not deduce
the necessity to rerun the translation should
font0816.fdb be updated.

I consider this a bug as it deviates from how
Microsoft's Nmake.exe and other make utilities
are willing to chain inference rules to build
a (more) complete dependency graph.

-Larry Brasfield
(address munged, s/sn/h/ to reply)
Aug 13 2002
parent "Walter" <walter digitalmars.com> writes:
Thanks for reporting this, I've logged it. -Walter
Aug 13 2002