On 05/18/11 13:35, Andreas Schwab wrote: > Normally, if GNU make sees that a > makefile is remade it rereads it automatically.
Ah, thanks, I didn't know that. So if we care only about GNU make, then all we need to do is to have unistd.h depend on Makefile. And, once unistd.h depends on Makefile then it need not depend on config.status (as Makefile already depends on config.status). Like this: --- a/modules/unistd +++ b/modules/unistd @@ -20,7 +20,7 @@ BUILT_SOURCES += unistd.h # We need the following in order to create an empty placeholder for # <unistd.h> when the system doesn't have one. -unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +unistd.h: unistd.in.h Makefile $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ Looking at the existing gnulib modules, I see that almost all of them have the .h file depend on config.status, but there's one exception: configmake.h depends on Makefile. Shouldn't they all depend on Makefile rather than on config.status? That should have helped to avoid this problem.