diff options
Diffstat (limited to 'src/lib/gssapi')
-rw-r--r-- | src/lib/gssapi/ChangeLog | 7 | ||||
-rw-r--r-- | src/lib/gssapi/Makefile.in | 47 |
2 files changed, 46 insertions, 8 deletions
diff --git a/src/lib/gssapi/ChangeLog b/src/lib/gssapi/ChangeLog index fa2832e0b0..26747104bc 100644 --- a/src/lib/gssapi/ChangeLog +++ b/src/lib/gssapi/ChangeLog @@ -1,3 +1,10 @@ +2003-03-08 Ken Raeburn <raeburn@mit.edu> + + * Makefile.in ($(BUILDTOP)/include/gssapi/gssapi.h, + generic/gssapi.h, generic/gssapi_err_generic.h, + krb5/gssapi_err_krb5.h): Comment out old rules and dependencies; + depend on all-recurse and supply a no-op rule. + 2003-03-07 Alexandra Ellwood <lxs@mit.edu> * gss_libinit.c: Changed USE_HARDCODED_FALLBACK_ERROR_TABLES macro diff --git a/src/lib/gssapi/Makefile.in b/src/lib/gssapi/Makefile.in index c0a69b6265..baa776e5bc 100644 --- a/src/lib/gssapi/Makefile.in +++ b/src/lib/gssapi/Makefile.in @@ -70,14 +70,45 @@ clean-windows:: cd .. @echo Making clean in gssapi -$(BUILDTOP)/include/gssapi/gssapi.h: generic/gssapi.h - (cd generic && $(MAKE) gssapi-include) -generic/gssapi.h: generic/gssapi.hin - (cd generic && $(MAKE) gssapi.h) -generic/gssapi_err_generic.h: generic/gssapi_err_generic.et - (cd generic && $(MAKE) gssapi_err_generic.h) -krb5/gssapi_err_krb5.h: krb5/gssapi_err_krb5.et - (cd krb5 && $(MAKE) gssapi_err_krb5.h) +# These rules are an attempt to handle several different problems: +# +# Certain files in subdirectories must be made current by the +# recursion step before we can build files in this directory that +# depend on them. Existing but out-of-date versions must not be used. +# +# In a parallel make, nothing should be built more than once. This +# effect can be exaggerated for testing by sticking "sleep 5" into the +# rules for generating the files in subdirectories. For example, in +# between testing for a directory and creating it -- do you then get +# mkdir complaining that the directory exists? Adding the sleep +# command may also exaggerate the build-with-outdated-headers problem, +# by causing the timestamp on the newly generated header to be several +# seconds newer than object files built with its old version, even on +# fast machines where the UNIX filesystem's one-second granularity +# would mask the problem. +# +# We must not cause these files to always be considered newly updated +# when it comes time to build the object files in this directory. +# Otherwise, we wind up recompiling some files every time we run make. + +# This set of rules fails the parallel make case; it can build +# gssapi-include and all-recurse at the same time, and both will +# create include/gssapi and gssapi.h. +#$(BUILDTOP)/include/gssapi/gssapi.h: generic/gssapi.h +# (cd generic && $(MAKE) gssapi-include) +#generic/gssapi.h: generic/gssapi.hin +# (cd generic && $(MAKE) gssapi.h) +#generic/gssapi_err_generic.h: generic/gssapi_err_generic.et +# (cd generic && $(MAKE) gssapi_err_generic.h) +#krb5/gssapi_err_krb5.h: krb5/gssapi_err_krb5.et +# (cd krb5 && $(MAKE) gssapi_err_krb5.h) + +# This version, without the no-op command to run, reportedly caused +# repeated rebuilds in certain cases. With the no-op command, it +# appears to be properly serializing the subdir processing and local +# compiles... so far. +$(BUILDTOP)/include/gssapi/gssapi.h generic/gssapi.h krb5/gssapi_err_krb5.h generic/gssapi_err_generic.h: all-recurse + : $@ updated by recursion rule # @lib_frag@ # @libobj_frag@ |