summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2000-02-16 23:13:52 +0000
committerwtc%netscape.com <devnull@localhost>2000-02-16 23:13:52 +0000
commit21c113a365ed439cfcddfdb938935775e3821d3e (patch)
treebbd6908c892ae8af4029066fef78e8d40d02489c
parent6641f90ccfcc81c947b6a4da02502288dc5bad4a (diff)
downloadnspr-hg-21c113a365ed439cfcddfdb938935775e3821d3e.tar.gz
Bugzilla bug #27955: added a static pattern rule to make every object
file depend on a dummy header file. Update the dummy header to force a full rebuild of NSPR in Mozilla's Tinderbox depend builds. Removed the old "depend: clean" hack. Modified files: nsprpub/Makefile.in, nsprpub/Makefile, rules.mk Added file: prdepend.h (NSPRPUB_RELEASE_4_0_BRANCH)
-rw-r--r--Makefile2
-rw-r--r--Makefile.in2
-rw-r--r--config/prdepend.h25
-rw-r--r--config/rules.mk23
4 files changed, 50 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index f31dc7fc..e92f2d40 100644
--- a/Makefile
+++ b/Makefile
@@ -101,5 +101,5 @@ endif
cp -f mdheader.jar $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(OBJDIR_NAME); \
chmod 664 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/mdheader.jar
-depend: clean
+depend:
@echo "NSPR20 has no dependencies. Skipped."
diff --git a/Makefile.in b/Makefile.in
index 11ffcee9..8ff221b8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -106,5 +106,5 @@ endif
cp -f mdheader.jar $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(OBJDIR_NAME); \
chmod 664 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/mdheader.jar
-depend: clean
+depend:
@echo "NSPR20 has no dependencies. Skipped."
diff --git a/config/prdepend.h b/config/prdepend.h
new file mode 100644
index 00000000..16423bc7
--- /dev/null
+++ b/config/prdepend.h
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * The contents of this file are subject to the Netscape Public License
+ * Version 1.1 (the "NPL"); you may not use this file except in
+ * compliance with the NPL. You may obtain a copy of the NPL at
+ * http://www.mozilla.org/NPL/
+ *
+ * Software distributed under the NPL is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
+ * for the specific language governing rights and limitations under the
+ * NPL.
+ *
+ * The Initial Developer of this code under the NPL is Netscape
+ * Communications Corporation. Portions created by Netscape are
+ * Copyright (C) 2000 Netscape Communications Corporation. All Rights
+ * Reserved.
+ */
+
+/*
+ * A dummy header file that is a dependency for all the object files.
+ * Used to force a full recompilation of NSPR in Mozilla's Tinderbox
+ * depend builds. See comments in rules.mk.
+ */
+
+#error "Do not include this header file."
diff --git a/config/rules.mk b/config/rules.mk
index 4b5829c3..b885c33e 100644
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -408,6 +408,29 @@ $(OBJDIR)/%.$(OBJ_SUFFIX): %.s
%: %.pl
rm -f $@; cp $< $@; chmod +x $@
+#
+# HACK ALERT
+#
+# The only purpose of this rule is to pass Mozilla's Tinderbox depend
+# builds (http://tinderbox.mozilla.org/showbuilds.cgi). Mozilla's
+# Tinderbox builds NSPR continuously as part of the Mozilla client.
+# Because NSPR's make depend is not implemented, whenever we change
+# an NSPR header file, the depend build does not recompile the NSPR
+# files that depend on the header.
+#
+# This rule makes all the objects depend on a dummy header file.
+# Touch this dummy header file to force the depend build to recompile
+# everything.
+#
+# This rule should be removed when make depend is implemented.
+#
+
+DUMMY_DEPEND_H = $(topsrcdir)/config/prdepend.h
+
+$(filter $(OBJDIR)/%.$(OBJ_SUFFIX),$(OBJS)): $(OBJDIR)/%.$(OBJ_SUFFIX): $(DUMMY_DEPEND_H)
+
+# END OF HACK
+
################################################################################
# Special gmake rules.
################################################################################