Make concurrent builds work.

To stop the errors when building concurrently, we make a number of
changes:

        1.  stop including generated files in *_SOURCES,

        2.  make *-protos.h and *-private.h depend on the *_SOURCES,

        3.  make all objects depend on *-{protos,private}.h,

        4.  in a few places change dir/header.h to $(srcdir)/dir/header.h,

This appears to work for me with make -j16 on a 4-way box.
This commit is contained in:
Roland C. Dowdeswell
2012-08-08 00:04:04 +01:00
parent d9d8e94d66
commit be5afdbf7f
10 changed files with 102 additions and 45 deletions

View File

@@ -12,7 +12,6 @@ login_SOURCES = \
login.c \
login_access.c \
login_locl.h \
login-protos.h \
loginpaths.h \
limits_conf.c \
osfc2.c \
@@ -32,7 +31,7 @@ LDADD = $(LIB_otp) \
$(LIB_security) \
$(DBLIB)
$(srcdir)/login-protos.h:
$(srcdir)/login-protos.h: $(login_SOURCES)
cd $(srcdir); perl ../../cf/make-proto.pl -o login-protos.h -q -P comment $(login_SOURCES) || rm -f login-protos.h
$(login_OBJECTS): $(srcdir)/login-protos.h