1 # 2 # Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # This code is free software; you can redistribute it and/or modify it 6 # under the terms of the GNU General Public License version 2 only, as 7 # published by the Free Software Foundation. Oracle designates this 8 # particular file as subject to the "Classpath" exception as provided 9 # by Oracle in the LICENSE file that accompanied this code. 10 # 11 # This code is distributed in the hope that it will be useful, but WITHOUT 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 # version 2 for more details (a copy is included in the LICENSE file that 15 # accompanied this code). 16 # 17 # You should have received a copy of the GNU General Public License version 18 # 2 along with this work; if not, write to the Free Software Foundation, 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 # 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 # or visit www.oracle.com if you need additional information or have any 23 # questions. 24 # 25 26 # Settings and rules to validate the JDK build environment. 27 28 .PHONY: \ 29 pre-sanity \ 30 sanity \ 31 sanity-base \ 32 sanity-docs \ 33 sanity-images \ 34 post-sanity-all \ 35 post-sanity-docs \ 36 post-sanity-images \ 37 sanity-all 38 39 # Bring in common sanity check rules 40 include $(JDK_MAKE_SHARED_DIR)/Sanity.gmk 41 42 # EXTERNALSANITYCONTROL means that this workspace build is being controlled by 43 # the control workspace, and that workspace is managing what is done to the sanity 44 # check files, and this sanity check run is only appending to those files. 45 46 pre-sanity: $(SANITY_FILES) 47 ifndef EXTERNALSANITYCONTROL 48 @$(RM) $(SANITY_FILES) 49 endif 50 51 sanity-base: pre-sanity \ 52 sane-settings \ 53 sane-insane \ 54 sane-make \ 55 sane-build_number \ 56 sane-os_version \ 57 sane-makeflags \ 58 sane-alt_outputdir \ 59 sane-outputdir \ 60 sane-devtools_path \ 61 sane-compiler_path \ 62 sane-unixcommand_path \ 63 sane-usrbin_path \ 64 sane-math_iso \ 65 sane-libCrun \ 66 sane-unixccs_path \ 67 sane-odbcdir \ 68 sane-msdevtools_path \ 69 sane-dxsdk \ 70 sane-compiler \ 71 sane-cacerts \ 72 sane-ant_version \ 73 sane-zip_version \ 74 sane-msvcrt_path \ 75 sane-build_modules 76 77 # The rules sanity-* have a one-to-one correspondence with the major targets 78 # Each sanity-* rule should have no body to ensure that the post-sanity-* is the 79 # last rule executed. The pre-sanity rule should be the first dependency. This design 80 # expects the execution of pre-sanity only once per gnumake command invocation, 81 # thus, info written to ERROR_FILE and/or WARNING_FILE will not be removed by subsequent 82 # targets in the same 'gnumake' command line. 83 84 sanity-all:: sanity-base \ 85 sane-classpath \ 86 sane-java_home \ 87 sane-fonts \ 88 sane-variant \ 89 sane-ld_library_path \ 90 sane-ld_library_path_64 \ 91 sane-ld_options \ 92 sane-ld_run_path \ 93 sane-alt_bootdir \ 94 sane-bootdir \ 95 sane-local-bootdir \ 96 sane-alsa-headers 97 98 ifdef OPENJDK 99 sanity-all:: sane-freetype 100 endif 101 102 103 # Always check cups header paths on solaris & linux 104 ifneq ($(PLATFORM), windows) 105 sanity-all:: \ 106 sane-cups 107 endif 108 109 # Always check hotspot binary paths even if we are building them from scratch 110 HOTSPOT_IMPORT_CHECK=true 111 ifeq ($(HOTSPOT_IMPORT_CHECK),true) 112 sanity-all:: \ 113 sane-hotspot_binaries \ 114 sane-hotspot_import 115 endif 116 117 sanity-docs: sanity-base sane-docs_import 118 119 sanity-images:: sanity-base 120 121 sanity:: sanity-all post-sanity 122 123 # this should be the last rule in any target's sanity rule. 124 post-sanity post-sanity-all post-sanity-docs post-sanity-images: sane-lastrule