aoqi@0: # aoqi@0: # Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. aoqi@0: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. aoqi@0: # aoqi@0: # This code is free software; you can redistribute it and/or modify it aoqi@0: # under the terms of the GNU General Public License version 2 only, as aoqi@0: # published by the Free Software Foundation. aoqi@0: # aoqi@0: # This code is distributed in the hope that it will be useful, but WITHOUT aoqi@0: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or aoqi@0: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License aoqi@0: # version 2 for more details (a copy is included in the LICENSE file that aoqi@0: # accompanied this code). aoqi@0: # aoqi@0: # You should have received a copy of the GNU General Public License version aoqi@0: # 2 along with this work; if not, write to the Free Software Foundation, aoqi@0: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. aoqi@0: # aoqi@0: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA aoqi@0: # or visit www.oracle.com if you need additional information or have any aoqi@0: # questions. aoqi@0: # aoqi@0: # aoqi@0: aoqi@0: # This makefile (trace.make) is included from the trace.make in the aoqi@0: # build directories. aoqi@0: # aoqi@0: # It knows how to build and run the tools to generate trace files. aoqi@0: aoqi@0: include $(GAMMADIR)/make/solaris/makefiles/rules.make aoqi@0: include $(GAMMADIR)/make/altsrc.make aoqi@0: aoqi@0: # ######################################################################### aoqi@0: aoqi@0: HAS_ALT_SRC:=$(shell if [ -d $(HS_ALT_SRC)/share/vm/trace ]; then \ aoqi@0: echo "true"; else echo "false";\ aoqi@0: fi) aoqi@0: aoqi@0: TOPDIR = $(shell echo `pwd`) aoqi@0: GENERATED = $(TOPDIR)/../generated aoqi@0: JvmtiOutDir = $(GENERATED)/jvmtifiles aoqi@0: TraceOutDir = $(GENERATED)/tracefiles aoqi@0: aoqi@0: TraceAltSrcDir = $(HS_ALT_SRC)/share/vm/trace aoqi@0: TraceSrcDir = $(HS_COMMON_SRC)/share/vm/trace aoqi@0: aoqi@0: # set VPATH so make knows where to look for source files aoqi@0: Src_Dirs_V += $(TraceSrcDir) $(TraceAltSrcDir) aoqi@0: VPATH += $(Src_Dirs_V:%=%:) aoqi@0: aoqi@0: TraceGeneratedNames = \ aoqi@0: traceEventClasses.hpp \ aoqi@0: traceEventIds.hpp \ aoqi@0: traceTypes.hpp aoqi@0: aoqi@0: ifeq ($(HAS_ALT_SRC), true) aoqi@0: TraceGeneratedNames += \ aoqi@0: traceRequestables.hpp \ aoqi@0: traceEventControl.hpp \ aoqi@0: traceProducer.cpp aoqi@0: endif aoqi@0: aoqi@0: TraceGeneratedFiles = $(TraceGeneratedNames:%=$(TraceOutDir)/%) aoqi@0: aoqi@0: XSLT = $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen aoqi@0: aoqi@0: XML_DEPS = $(TraceSrcDir)/trace.xml $(TraceSrcDir)/tracetypes.xml \ aoqi@0: $(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod aoqi@0: ifeq ($(HAS_ALT_SRC), true) aoqi@0: XML_DEPS += $(TraceAltSrcDir)/traceevents.xml aoqi@0: endif aoqi@0: aoqi@0: .PHONY: all clean cleanall aoqi@0: aoqi@0: # ######################################################################### aoqi@0: aoqi@0: all: $(TraceGeneratedFiles) aoqi@0: aoqi@0: GENERATE_CODE= \ aoqi@0: $(QUIETLY) echo Generating $@; \ aoqi@0: $(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \ aoqi@0: test -f $@ aoqi@0: aoqi@0: $(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS) aoqi@0: $(GENERATE_CODE) aoqi@0: aoqi@0: $(TraceOutDir)/traceTypes.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceTypes.xsl $(XML_DEPS) aoqi@0: $(GENERATE_CODE) aoqi@0: aoqi@0: ifeq ($(HAS_ALT_SRC), false) aoqi@0: aoqi@0: $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventClasses.xsl $(XML_DEPS) aoqi@0: $(GENERATE_CODE) aoqi@0: aoqi@0: else aoqi@0: aoqi@0: $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventClasses.xsl $(XML_DEPS) aoqi@0: $(GENERATE_CODE) aoqi@0: aoqi@0: $(TraceOutDir)/traceProducer.cpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceProducer.xsl $(XML_DEPS) aoqi@0: $(GENERATE_CODE) aoqi@0: aoqi@0: $(TraceOutDir)/traceRequestables.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceRequestables.xsl $(XML_DEPS) aoqi@0: $(GENERATE_CODE) aoqi@0: aoqi@0: $(TraceOutDir)/traceEventControl.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventControl.xsl $(XML_DEPS) aoqi@0: $(GENERATE_CODE) aoqi@0: aoqi@0: endif aoqi@0: aoqi@0: # ######################################################################### aoqi@0: aoqi@0: clean cleanall: aoqi@0: rm $(TraceGeneratedFiles) aoqi@0: aoqi@0: