hotspot/make/solaris/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 $(GAMMADIR)/make/solaris/makefiles/rules.make
       
    31 
       
    32 # #########################################################################
       
    33 
       
    34 GENERATED    = ../generated
       
    35 JvmtiOutDir  = $(GENERATED)/jvmtifiles
       
    36 
       
    37 JvmtiSrcDir = $(GAMMADIR)/src/share/vm/prims
       
    38 InterpreterSrcDir = $(GAMMADIR)/src/share/vm/interpreter
       
    39 Src_Dirs += $(JvmtiSrcDir)
       
    40 
       
    41 # set VPATH so make knows where to look for source files
       
    42 Src_Dirs_V = ${Src_Dirs}
       
    43 VPATH    += $(Src_Dirs_V:%=%:)
       
    44 
       
    45 JvmtiGeneratedNames = \
       
    46         jvmtiEnv.hpp \
       
    47         jvmtiEnter.cpp \
       
    48         jvmtiEnterTrace.cpp \
       
    49         jvmtiEnvRecommended.cpp\
       
    50         bytecodeInterpreterWithChecks.cpp\
       
    51         jvmti.h \
       
    52 
       
    53 JvmtiEnvFillSource = $(JvmtiSrcDir)/jvmtiEnvFill.java
       
    54 JvmtiEnvFillClass = $(JvmtiOutDir)/jvmtiEnvFill.class
       
    55 
       
    56 JvmtiGenSource = $(JvmtiSrcDir)/jvmtiGen.java
       
    57 JvmtiGenClass = $(JvmtiOutDir)/jvmtiGen.class
       
    58 
       
    59 JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
       
    60 
       
    61 XSLT = $(QUIETLY) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
       
    62 
       
    63 .PHONY: all jvmtidocs clean cleanall
       
    64 
       
    65 # #########################################################################
       
    66 
       
    67 all: $(JvmtiGeneratedFiles)
       
    68 
       
    69 both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl
       
    70 
       
    71 $(JvmtiGenClass): $(JvmtiGenSource)
       
    72 	$(QUIETLY) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource)
       
    73 
       
    74 $(JvmtiEnvFillClass): $(JvmtiEnvFillSource)
       
    75 	$(QUIETLY) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
       
    76 
       
    77 $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
       
    78 	@echo Generating $@
       
    79 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
       
    80 
       
    81 $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
       
    82 	@echo Generating $@
       
    83 	$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp 
       
    84 
       
    85 $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
       
    86 	@echo Generating $@
       
    87 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
       
    88 
       
    89 $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
       
    90 	@echo Generating $@
       
    91 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
       
    92 	$(QUIETLY) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
       
    93 
       
    94 $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
       
    95 	@echo Generating $@
       
    96 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
       
    97 
       
    98 $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
       
    99 	@echo Generating $@
       
   100 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
       
   101 
       
   102 jvmtidocs:  $(JvmtiOutDir)/jvmti.html
       
   103 
       
   104 $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
       
   105 	@echo Generating $@
       
   106 	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
       
   107 
       
   108 # #########################################################################
       
   109 
       
   110 clean :
       
   111 	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
       
   112 
       
   113 cleanall :
       
   114 	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
       
   115 
       
   116 # #########################################################################
       
   117