1 #
   2 # Copyright (c) 2001, 2008, 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-binary-plugs \
  89     sane-variant \
  90     sane-ld_library_path \
  91     sane-ld_library_path_64 \
  92     sane-ld_options \
  93     sane-ld_run_path \
  94     sane-alt_bootdir \
  95     sane-bootdir \
  96     sane-local-bootdir \
  97     sane-alsa-headers
  98 
  99 ifdef OPENJDK
 100 sanity-all:: sane-freetype 
 101 endif
 102 
 103 
 104 # Always check cups header paths on solaris & linux
 105 ifneq ($(PLATFORM), windows)
 106 sanity-all:: \
 107     sane-cups
 108 endif
 109 
 110 # Always check hotspot binary paths even if we are building them from scratch
 111 HOTSPOT_IMPORT_CHECK=true
 112 ifeq ($(HOTSPOT_IMPORT_CHECK),true)
 113 sanity-all:: \
 114     sane-hotspot_binaries \
 115     sane-hotspot_import
 116 endif
 117 
 118 sanity-docs: sanity-base sane-docs_import
 119 
 120 sanity-images:: sanity-base
 121 
 122 sanity:: sanity-all post-sanity
 123 
 124 # this should be the last rule in any target's sanity rule.
 125 post-sanity post-sanity-all post-sanity-docs post-sanity-images: sane-lastrule