-
Notifications
You must be signed in to change notification settings - Fork 170
Closed
Description
bnfc
has its own logic of preserving unchanged files that makes it incompatible with make
. GNU make
expects a target to get the current time stamp if the action is run that creates it or refreshes it from its dependencies. Since bnfc
is "clever" and does not recreate unchanged files, it will be called every time by make
should there be any target older than the .cf
file.
This contradicts the principle that make
should be idempotent. More precisely, the second call to make
in a row should report nothing to do
for a properly written Makefile
.