jdk/make/common/Sanity.gmk
changeset 2 90ce3da70b43
child 1162 0eb72b6aea56
equal deleted inserted replaced
0:fd16c54261b3 2:90ce3da70b43
       
     1 #
       
     2 # Copyright 2001-2007 Sun Microsystems, Inc.  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.  Sun designates this
       
     8 # particular file as subject to the "Classpath" exception as provided
       
     9 # by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
       
    22 # CA 95054 USA or visit www.sun.com if you need additional information or
       
    23 # have any 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-findbugs_version \
       
    74     sane-zip_version \
       
    75     sane-msvcrt_path
       
    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-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