1 #
   2 # Copyright (c) 2003, 2016, 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.
   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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 #
  24 
  25 # This makefile (trace.make) is included from the trace.make in the
  26 # build directories.
  27 #
  28 # It knows how to build and run the tools to generate trace files.
  29 
  30 !include $(WorkSpace)/make/windows/makefiles/rules.make
  31 
  32 # #########################################################################
  33 
  34 
  35 TraceAltSrcDir = $(WorkSpace)\src\closed\share\vm\trace
  36 TraceSrcDir = $(WorkSpace)\src\share\vm\trace
  37 
  38 !ifndef OPENJDK
  39 !if EXISTS($(TraceAltSrcDir))
  40 HAS_ALT_SRC = true
  41 !endif
  42 !endif
  43 
  44 !ifndef OPENJDK
  45 !if EXISTS($(TraceAltSrcDir))
  46 HAS_ALT_SRC = true
  47 !endif
  48 !endif
  49 
  50 TraceGeneratedNames =     \
  51     traceEventClasses.hpp \
  52     traceEventIds.hpp     \
  53     traceTypes.hpp
  54 
  55 !ifdef HAS_ALT_SRC
  56 TraceGeneratedNames = $(TraceGeneratedNames) \
  57     traceRequestables.hpp \
  58     traceEventControl.hpp
  59 !endif
  60 
  61 
  62 #Note: TraceGeneratedFiles must be kept in sync with TraceGeneratedNames by hand.
  63 #Should be equivalent to "TraceGeneratedFiles = $(TraceGeneratedNames:%=$(TraceOutDir)/%)"
  64 TraceGeneratedFiles = \
  65     $(TraceOutDir)/traceEventClasses.hpp \
  66     $(TraceOutDir)/traceEventIds.hpp     \
  67     $(TraceOutDir)/traceTypes.hpp
  68 
  69 !ifdef HAS_ALT_SRC
  70 TraceGeneratedFiles = $(TraceGeneratedFiles) \
  71     $(TraceOutDir)/traceRequestables.hpp \
  72     $(TraceOutDir)/traceEventControl.hpp
  73 !endif
  74 
  75 XSLT = $(QUIETLY) $(REMOTE) $(RUN_JAVA) -classpath $(JvmtiOutDir) jvmtiGen
  76 
  77 TraceXml = $(TraceSrcDir)/trace.xml
  78 
  79 !ifdef HAS_ALT_SRC
  80 TraceXml = $(TraceAltSrcDir)/trace.xml
  81 !endif
  82 
  83 XML_DEPS = $(TraceXml) $(TraceSrcDir)/tracetypes.xml \
  84     $(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod \
  85     $(TraceSrcDir)/tracerelationdecls.xml $(TraceSrcDir)/traceevents.xml
  86 
  87 !ifdef HAS_ALT_SRC
  88 XML_DEPS = $(XML_DEPS) $(TraceAltSrcDir)/traceeventscustom.xml \
  89     $(TraceAltSrcDir)/traceeventtypes.xml
  90 !endif
  91 
  92 .PHONY: all clean cleanall
  93 
  94 # #########################################################################
  95 
  96 default::
  97         @if not exist $(TraceOutDir) mkdir $(TraceOutDir)
  98 
  99 $(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS)
 100         @echo Generating $@
 101         $(XSLT) -IN $(TraceXml) -XSL $(TraceSrcDir)/traceEventIds.xsl -OUT $(TraceOutDir)/traceEventIds.hpp
 102 
 103 $(TraceOutDir)/traceTypes.hpp: $(TraceSrcDir)/traceTypes.xsl $(XML_DEPS)
 104         @echo Generating $@
 105         $(XSLT) -IN $(TraceXml) -XSL $(TraceSrcDir)/traceTypes.xsl -OUT $(TraceOutDir)/traceTypes.hpp
 106 
 107 !ifndef HAS_ALT_SRC
 108 
 109 $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/traceEventClasses.xsl $(XML_DEPS)
 110         @echo Generating OpenJDK $@
 111         $(XSLT) -IN $(TraceXml) -XSL $(TraceSrcDir)/traceEventClasses.xsl -OUT $(TraceOutDir)/traceEventClasses.hpp
 112 
 113 !else
 114 
 115 $(TraceOutDir)/traceEventClasses.hpp: $(TraceAltSrcDir)/traceEventClasses.xsl $(XML_DEPS)
 116         @echo Generating AltSrc $@
 117         $(XSLT) -IN $(TraceXml) -XSL $(TraceAltSrcDir)/traceEventClasses.xsl -OUT $(TraceOutDir)/traceEventClasses.hpp
 118 
 119 $(TraceOutDir)/traceRequestables.hpp: $(TraceAltSrcDir)/traceRequestables.xsl $(XML_DEPS)
 120         @echo Generating AltSrc $@
 121         $(XSLT) -IN $(TraceXml) -XSL $(TraceAltSrcDir)/traceRequestables.xsl -OUT $(TraceOutDir)/traceRequestables.hpp
 122 
 123 $(TraceOutDir)/traceEventControl.hpp: $(TraceAltSrcDir)/traceEventControl.xsl $(XML_DEPS)
 124         @echo Generating AltSrc $@
 125         $(XSLT) -IN $(TraceXml) -XSL $(TraceAltSrcDir)/traceEventControl.xsl -OUT $(TraceOutDir)/traceEventControl.hpp
 126 
 127 !endif
 128 
 129 # #########################################################################
 130 
 131 cleanall :
 132         rm $(TraceGeneratedFiles)