comparison make/hotspot/gensrc/GensrcDtrace.gmk @ 49697:58cffb6ec13c

8201236: Straighten out dtrace build logic Reviewed-by: erikj
author ihse
date Mon, 09 Apr 2018 19:23:01 +0200
parents 6abbc1f5c2a1
children
comparison
equal deleted inserted replaced
2:b111690dabf0 3:aa689825caad
52 # Process all .d files in DTRACE_SOURCE_DIR. They are: 52 # Process all .d files in DTRACE_SOURCE_DIR. They are:
53 # hotspot_jni.d hotspot.d hs_private.d 53 # hotspot_jni.d hotspot.d hs_private.d
54 TARGETS += $(patsubst $(DTRACE_SOURCE_DIR)/%.d, \ 54 TARGETS += $(patsubst $(DTRACE_SOURCE_DIR)/%.d, \
55 $(DTRACE_GENSRC_DIR)/%.h, $(wildcard $(DTRACE_SOURCE_DIR)/*.d)) 55 $(DTRACE_GENSRC_DIR)/%.h, $(wildcard $(DTRACE_SOURCE_DIR)/*.d))
56 56
57 ifeq ($(OPENJDK_TARGET_OS), solaris)
58 ############################################################################
59 # First we need to generate the dtraceGenOffsets tool. When run, this will
60 # produce two header files and a C++ file. Note that generateJvmOffsets.cpp
61 # is using the same JVM_CFLAGS as libjvm.so.
62
63 # Include support files that will setup JVM compiler flags.
64 include lib/JvmFeatures.gmk
65 include lib/JvmFlags.gmk
66
67 # We cannot compile until the JVMTI gensrc has finished
68 JVMTI_H := $(JVM_VARIANT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h
69
70 $(eval $(call SetupNativeCompilation, BUILD_DTRACE_GEN_OFFSETS, \
71 NAME := dtraceGenOffsets, \
72 TYPE := EXECUTABLE, \
73 SRC := $(TOPDIR)/make/hotspot/src/native/dtrace, \
74 TOOLCHAIN := $(TOOLCHAIN_BUILD), \
75 LDFLAGS := -m64, \
76 CFLAGS := -m64 $(JVM_CFLAGS), \
77 EXTRA_DEPS := $(JVMTI_H), \
78 OBJECT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets/objs, \
79 OUTPUT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets, \
80 ))
81
82 DTRACE_GEN_OFFSETS_TOOL := $(BUILD_DTRACE_GEN_OFFSETS_TARGET)
83
84 # Argument 1: Output filename
85 # Argument 2: dtrace-gen-offset tool command line option
86 define SetupDtraceOffsetsGeneration
87 $1: $$(BUILD_DTRACE_GEN_OFFSETS)
88 $$(call LogInfo, Generating dtrace $2 file $$(@F))
89 $$(call MakeDir, $$(@D))
90 $$(call ExecuteWithLog, $$@, ( $$(DTRACE_GEN_OFFSETS_TOOL) -$$(strip $2) > $$@ ) )
91
92 TARGETS += $1
93 endef
94
95 JVM_OFFSETS_H := $(DTRACE_GENSRC_DIR)/JvmOffsets.h
96 JVM_OFFSETS_CPP := $(DTRACE_GENSRC_DIR)/JvmOffsets.cpp
97 JVM_OFFSETS_INDEX_H := $(DTRACE_GENSRC_DIR)/JvmOffsetsIndex.h
98
99 ############################################################################
100 # Run the dtrace-gen-offset tool to generate these three files.
101 # The generated JvmOffsets.cpp is compiled with the rest of libjvm.
102 # The header files are used by libjvm_db and jhelper.d, respectively.
103
104 $(eval $(call SetupDtraceOffsetsGeneration, $(JVM_OFFSETS_H), header))
105 $(eval $(call SetupDtraceOffsetsGeneration, $(JVM_OFFSETS_INDEX_H), index))
106 $(eval $(call SetupDtraceOffsetsGeneration, $(JVM_OFFSETS_CPP), table))
107 endif
108
57 endif 109 endif