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