Roll back proto.h changes -- to hard to do them portably. Leave
authorMartin Pool <mbp@samba.org>
Mon, 25 Mar 2002 01:29:55 +0000 (01:29 +0000)
committerMartin Pool <mbp@samba.org>
Mon, 25 Mar 2002 01:29:55 +0000 (01:29 +0000)
Herb's installdat change in.
(This used to be commit 39a6b12fdc6a45cd51d3c11785bffeedd9fc78cd)

source3/Makefile.in

index b02ec64ba3ff93527ab0fe9aac9da6b71bb86f7a..41d42ecb830aa7702b2f27ce41de400f53c6d3bc 100644 (file)
@@ -816,67 +816,28 @@ uninstallscripts:
 # Toplevel clean files
 TOPFILES=dynconfig.o dynconfig.po
 
-# NB: According to the GNU standards, "make clean" should not delete
-# things that normally come with the distribution, even if they could
-# possibly be rebuilt.  For Samba, that includes the header files.
-clean: 
-       -rm -f core *.o *.po */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ \
-       $(TOPFILES) $(PROGS) $(SPROGS) .proto.stamp .proto.check
+clean: delheaders
+       -rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ \
+       $(TOPFILES) $(PROGS) $(SPROGS) .headers.stamp
 
 winbindd_proto:
        @cd $(srcdir) && $(SHELL) script/mkproto.sh $(AWK) \
          -h _WINBINDD_PROTO_H_ nsswitch/winbindd_proto.h \
          $(WINBINDD_OBJ1)
 
-# We don't kill .proto.stamp, because we don't want to force
-# rebuilding of everything.
 delheaders:
-       @rm -f $(srcdir)/include/proto.h $(srcdir)/include/build_env.h
-       @rm -f $(srcdir)/.proto.check
-       @rm -f $(builddir)/.proto.check
-       @rm -f include/proto.h include/build_env.h 
-
-# Intended new behaviour for proto.h, whenever source is being
-# compiled: -- mbp
-#
-# If proto.h does not exist, it is built.
-#
-# If any source files have changed since proto.h was last checked
-# (.proto.check), then proto.h is checked.  If there are no actual
-# changes since last time, its mtime is not changed, but we do
-# remember the time at which it was checked.
-#
-# Whenever we try to build a .o, we need to check the headers are up
-# to date.  However, rebuilding the prototypes does not (yet) imply
-# rebuilding all object files.  (To change this behaviour, make
-# PROTO_OBJ depend on proto.h)
-#
-# Also to allow people to build on machines without Awk, we never try
-# to use it unless a source file has changed.  I guess if we wanted,
-# we could have lack of Awk only cause a warning, not failure.
-
-$(PROTO_OBJ): .proto.stamp
-
-# Whenever a source file changes, we regenerate the prototypes and see if they're
-# different to the existing ones.
-$(srcdir)/include/proto.h: .proto.check
-
-.proto.check: 
-       @echo Checking $(srcdir)/include/proto.h
-       @cd $(srcdir) && $(AWK) -f script/mkproto.awk \
-       `echo $(PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | egrep -v 'ubiqx/|wrapped'` \
-       > $(builddir)/include/proto.h.new && \
-       touch $(builddir)/.proto.check && \
-       if test -f include/proto.h && cmp -s $(builddir)/include/proto.h.new include/proto.h; \
-       then rm -f $(builddir)/include/proto.h.new; \
-       echo No changes to include/proto.h; \
-       else \
-       echo Installing new proto.h; \
-       mv $(builddir)/include/proto.h.new include/proto.h; \
-       fi
-
-.proto.stamp: .proto.check
-       @[ -f .proto.stamp ] || touch .proto.stamp
+       @/bin/rm -f $(srcdir)/include/proto.h $(srcdir)/include/build_env.h
+       @/bin/rm -f include/proto.h include/build_env.h
+
+# we want our generated headers to be rebuilt if they don't exist, but not rebuilt every time
+.headers.stamp:
+       @[ -f $@ ] || touch $@
+
+$(PROTO_OBJ) : .headers.stamp
+
+include/proto.h:
+       @echo rebuilding include/proto.h
+       @cd $(srcdir) && $(AWK) -f script/mkproto.awk `echo $(PROTO_OBJ) | tr ' ' '\n' | sed -e 's/\.o/\.c/g' | sort -u | egrep -v 'ubiqx/|wrapped'` > $(builddir)/include/proto.h
 
 include/build_env.h:
        @echo rebuilding include/build_env.h
@@ -888,7 +849,7 @@ include/wrepld_proto.h:
          -h _WREPLD_PROTO_H_ $(builddir)/include/wrepld_proto.h \
          $(WREPL_OBJ1)
 
-headers: .proto.check $(srcdir)/include/proto.h include/build_env.h include/wrepld_proto.h
+headers: delheaders include/proto.h include/build_env.h include/wrepld_proto.h .headers.stamp
 
 proto: headers winbindd_proto