1 # 2 # Copyright (c) 2003, 2010, 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. Oracle designates this 8 # particular file as subject to the "Classpath" exception as provided 9 # by Oracle in the LICENSE file that accompanied this code. 10 # 11 # This code is distributed in the hope that it will be useful, but WITHOUT 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 # version 2 for more details (a copy is included in the LICENSE file that 15 # accompanied this code). 16 # 17 # You should have received a copy of the GNU General Public License version 18 # 2 along with this work; if not, write to the Free Software Foundation, 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 # 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 # or visit www.oracle.com if you need additional information or have any 23 # questions. 24 # 25 26 BUILDDIR = ../.. 27 MODULE = instrument 28 LIBRARY = hprof 29 PRODUCT = sun 30 LIBRARY_OUTPUT = hprof_jvmti 31 32 # Use highest optimization 33 OPTIMIZATION_LEVEL = HIGHEST 34 35 # Configure the CFLAGS for this library. 36 FILES_m = mapfile-vers 37 38 include $(BUILDDIR)/common/Defs.gmk 39 40 SRCDIR=$(SHARE_SRC)/demo/jvmti/hprof 41 PSRCDIR=$(PLATFORM_SRC)/demo/jvmti/hprof 42 43 # Use the mapfile-vers (See the mapfile located with this Makefile) 44 ifdef FILES_m 45 include $(BUILDDIR)/common/Mapfile-vers.gmk 46 endif 47 48 # 49 # Files to compile. 50 # 51 FILES_c = \ 52 debug_malloc.c \ 53 hprof_blocks.c \ 54 hprof_check.c \ 55 hprof_class.c \ 56 hprof_cpu.c \ 57 hprof_error.c \ 58 hprof_event.c \ 59 hprof_frame.c \ 60 hprof_init.c \ 61 hprof_io.c \ 62 hprof_ioname.c \ 63 hprof_listener.c \ 64 hprof_loader.c \ 65 hprof_md.c \ 66 hprof_monitor.c \ 67 hprof_object.c \ 68 hprof_reference.c \ 69 hprof_site.c \ 70 hprof_stack.c \ 71 hprof_string.c \ 72 hprof_table.c \ 73 hprof_tag.c \ 74 hprof_tls.c \ 75 hprof_trace.c \ 76 hprof_tracker.c \ 77 hprof_util.c 78 79 OTHER_INCLUDES = -I$(SRCDIR) \ 80 -I$(SHARE_SRC)/npt \ 81 -I$(PLATFORM_SRC)/npt \ 82 -I$(SHARE_SRC)/demo/jvmti/java_crw_demo 83 84 ifeq ($(PLATFORM), windows) 85 OTHER_LDLIBS += wsock32.lib winmm.lib 86 else 87 OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl 88 endif 89 90 # 91 # Tell library.gmk to copy the txt file first 92 # 93 INIT += $(LIBDIR)/jvm.hprof.txt 94 95 # 96 # This puts logging code in 97 # 98 CPPFLAGS_DBG += -DHPROF_LOGGING 99 100 # 101 # Library to compile. 102 # 103 include $(BUILDDIR)/common/Library.gmk 104 105 # We don't want to link against -ljava 106 JAVALIB= 107 108 # 109 # Add to ambient vpath so we pick up the library files 110 # 111 vpath %.c $(SRCDIR):$(PSRCDIR) 112 113 # 114 # Install the hprof prelude 115 # 116 $(LIBDIR)/jvm.hprof.txt: $(SRCDIR)/jvm.hprof.txt 117 $(install-file) 118 119 clean clobber:: 120 $(RM) $(LIBDIR)/jvm.hprof.txt 121