summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pool <mbp@samba.org>2002-03-25 01:29:55 +0000
committerMartin Pool <mbp@samba.org>2002-03-25 01:29:55 +0000
commitcf60c28ea83ce30d90b4272ad48e3c790854dbd4 (patch)
tree0f9c636d9afce4576ce8ce523103ce8a812633e3
parent1d582af3c0dcbfad9a158f3ed38219c95424b045 (diff)
downloadsamba-cf60c28ea83ce30d90b4272ad48e3c790854dbd4.tar.gz
samba-cf60c28ea83ce30d90b4272ad48e3c790854dbd4.tar.bz2
samba-cf60c28ea83ce30d90b4272ad48e3c790854dbd4.zip
Roll back proto.h changes -- to hard to do them portably. Leave
Herb's installdat change in. (This used to be commit 39a6b12fdc6a45cd51d3c11785bffeedd9fc78cd)
-rw-r--r--source3/Makefile.in71
1 files changed, 16 insertions, 55 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index b02ec64ba3..41d42ecb83 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -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