# # Copyright (c) 2001, 2011, Oracle and/or its affiliates. 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. Oracle designates this # particular file as subject to the "Classpath" exception as provided # by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.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-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-variant \ sane-ld_library_path \ sane-ld_library_path_64 \ sane-ld_options \ sane-ld_run_path \ sane-alt_bootdir \ sane-bootdir \ sane-local-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