The construct "diff ... || diff=1 || diff=" does not set the variable
in all cases. This could be triggered with:
$ env make diff=1 make sc_dd_O_FLAGS
dd_O_FLAGS
maint.mk: ./src/dd.c has inconsistent O_ flag lists
cfg.mk:59: recipe for target 'sc_dd_O_FLAGS' failed
make: *** [sc_dd_O_FLAGS] Error 1
* cfg.mk (sc_dd_O_FLAGS): Remember $? of the diff command directly
and check its value later rather than using the above mentioned
mapping.