--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/common/Sanity.gmk Sat Dec 01 00:00:00 2007 +0000
@@ -0,0 +1,124 @@
+#
+# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+# Settings and rules to validate the JDK build environment.
+
+.PHONY: \
+ pre-sanity \
+ sanity \
+ sanity-base \
+ sanity-docs \
+ sanity-images \
+ post-sanity-all \
+ post-sanity-docs \
+ post-sanity-images \
+ sanity-all
+
+# Bring in common sanity check rules
+include $(JDK_MAKE_SHARED_DIR)/Sanity.gmk
+
+# EXTERNALSANITYCONTROL means that this workspace build is being controlled by
+# the control workspace, and that workspace is managing what is done to the sanity
+# check files, and this sanity check run is only appending to those files.
+
+pre-sanity: $(SANITY_FILES)
+ifndef EXTERNALSANITYCONTROL
+ @$(RM) $(SANITY_FILES)
+endif
+
+sanity-base: pre-sanity \
+ sane-settings \
+ sane-insane \
+ sane-make \
+ sane-build_number \
+ sane-os_version \
+ sane-makeflags \
+ sane-alt_outputdir \
+ sane-outputdir \
+ sane-devtools_path \
+ sane-compiler_path \
+ sane-unixcommand_path \
+ sane-usrbin_path \
+ sane-math_iso \
+ sane-libCrun \
+ sane-unixccs_path \
+ sane-odbcdir \
+ sane-msdevtools_path \
+ sane-dxsdk \
+ sane-compiler \
+ sane-cacerts \
+ sane-ant_version \
+ sane-findbugs_version \
+ sane-zip_version \
+ sane-msvcrt_path
+
+# The rules sanity-* have a one-to-one correspondence with the major targets
+# Each sanity-* rule should have no body to ensure that the post-sanity-* is the
+# last rule executed. The pre-sanity rule should be the first dependency. This design
+# expects the execution of pre-sanity only once per gnumake command invocation,
+# thus, info written to ERROR_FILE and/or WARNING_FILE will not be removed by subsequent
+# targets in the same 'gnumake' command line.
+
+sanity-all:: sanity-base \
+ sane-classpath \
+ sane-java_home \
+ sane-fonts \
+ sane-binary-plugs \
+ sane-variant \
+ sane-ld_library_path \
+ sane-ld_library_path_64 \
+ sane-ld_options \
+ sane-ld_run_path \
+ sane-alt_bootdir \
+ sane-bootdir \
+ sane-alsa-headers
+
+ifdef OPENJDK
+sanity-all:: sane-freetype
+endif
+
+
+# Always check cups header paths on solaris & linux
+ifneq ($(PLATFORM), windows)
+sanity-all:: \
+ sane-cups
+endif
+
+# Always check hotspot binary paths even if we are building them from scratch
+HOTSPOT_IMPORT_CHECK=true
+ifeq ($(HOTSPOT_IMPORT_CHECK),true)
+sanity-all:: \
+ sane-hotspot_binaries \
+ sane-hotspot_import
+endif
+
+sanity-docs: sanity-base sane-docs_import
+
+sanity-images:: sanity-base
+
+sanity:: sanity-all post-sanity
+
+# this should be the last rule in any target's sanity rule.
+post-sanity post-sanity-all post-sanity-docs post-sanity-images: sane-lastrule