hotspot/make/windows/makefiles/jvmti.make
changeset 338 5cf9f61d76f4
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
equal deleted inserted replaced
337:7e7f474103fe 338:5cf9f61d76f4
       
     1 #
       
     2 # Copyright 2003-2005 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.
       
     8 #
       
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12 # version 2 for more details (a copy is included in the LICENSE file that
       
    13 # accompanied this code).
       
    14 #
       
    15 # You should have received a copy of the GNU General Public License version
       
    16 # 2 along with this work; if not, write to the Free Software Foundation,
       
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18 #
       
    19 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
       
    20 # CA 95054 USA or visit www.sun.com if you need additional information or
       
    21 # have any questions.
       
    22 #  
       
    23 #
       
    24 
       
    25 # This makefile (jvmti.make) is included from the jvmti.make in the
       
    26 # build directories.
       
    27 #
       
    28 # It knows how to build and run the tools to generate jvmti.
       
    29 
       
    30 !include $(WorkSpace)/make/windows/makefiles/rules.make
       
    31 
       
    32 # #########################################################################
       
    33 
       
    34 JvmtiSrcDir = $(WorkSpace)/src/share/vm/prims
       
    35 InterpreterSrcDir = $(WorkSpace)/src/share/vm/interpreter
       
    36 
       
    37 JvmtiGeneratedNames = \
       
    38         jvmtiEnv.hpp \
       
    39         jvmtiEnter.cpp \
       
    40         jvmtiEnterTrace.cpp \
       
    41         jvmtiEnvRecommended.cpp \
       
    42         bytecodeInterpreterWithChecks.cpp \
       
    43         jvmti.h \
       
    44 
       
    45 JvmtiEnvFillSource = $(JvmtiSrcDir)/jvmtiEnvFill.java
       
    46 JvmtiEnvFillClass = $(JvmtiOutDir)/jvmtiEnvFill.class
       
    47 
       
    48 JvmtiGenSource = $(JvmtiSrcDir)/jvmtiGen.java
       
    49 JvmtiGenClass = $(JvmtiOutDir)/jvmtiGen.class
       
    50 
       
    51 #Note: JvmtiGeneratedFiles must be kept in sync with JvmtiGeneratedNames by hand.
       
    52 #Should be equivalent #to "JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)"
       
    53 JvmtiGeneratedFiles = \
       
    54         $(JvmtiOutDir)/jvmtiEnv.hpp \
       
    55         $(JvmtiOutDir)/jvmtiEnter.cpp \
       
    56         $(JvmtiOutDir)/jvmtiEnterTrace.cpp \
       
    57         $(JvmtiOutDir)/jvmtiEnvRecommended.cpp\
       
    58         $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp\
       
    59         $(JvmtiOutDir)/jvmti.h \
       
    60 
       
    61 XSLT = $(RUN_JAVA) -classpath $(JvmtiOutDir) jvmtiGen
       
    62 
       
    63 # #########################################################################
       
    64 
       
    65 both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl
       
    66 
       
    67 default::
       
    68         @if not exist $(JvmtiOutDir) mkdir $(JvmtiOutDir)
       
    69 
       
    70 $(JvmtiGenClass): $(JvmtiGenSource)
       
    71 	$(COMPILE_JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource)
       
    72 
       
    73 $(JvmtiEnvFillClass): $(JvmtiEnvFillSource)
       
    74 	@$(COMPILE_JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
       
    75 
       
    76 $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
       
    77 	@echo Generating $@
       
    78 	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
       
    79 
       
    80 $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
       
    81 	@echo Generating $@
       
    82 	@$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp
       
    83 
       
    84 $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
       
    85 	@echo Generating $@
       
    86 	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
       
    87 
       
    88 $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
       
    89 	@echo Generating $@
       
    90 	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
       
    91 	@$(RUN_JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
       
    92 
       
    93 $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
       
    94 	@echo Generating $@
       
    95 	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
       
    96 
       
    97 $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
       
    98 	@echo Generating $@
       
    99 	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
       
   100 
       
   101 jvmtidocs:  $(JvmtiOutDir)/jvmti.html
       
   102 
       
   103 $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
       
   104 	@echo Generating $@
       
   105 	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
       
   106 
       
   107 # #########################################################################
       
   108 
       
   109 cleanall :
       
   110 	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
       
   111 
       
   112 # #########################################################################
       
   113 
       
   114 .PHONY: jvmtidocs cleanall