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 LIBRARY = hprof 28 PRODUCT = sun 29 LIBRARY_OUTPUT = hprof_jvmti 30 31 # Use highest optimization 32 OPTIMIZATION_LEVEL = HIGHEST 33 34 # Configure the CFLAGS for this library. 35 FILES_m = mapfile-vers 36 37 include $(BUILDDIR)/common/Defs.gmk 38 39 SRCDIR=$(SHARE_SRC)/demo/jvmti/hprof 40 PSRCDIR=$(PLATFORM_SRC)/demo/jvmti/hprof 41 42 # Use the mapfile-vers (See the mapfile located with this Makefile) 43 ifdef FILES_m 44 include $(BUILDDIR)/common/Mapfile-vers.gmk 45 endif 46 47 # 48 # Files to compile. 49 # 50 FILES_c = \ 51 debug_malloc.c \ 52 hprof_blocks.c \ 53 hprof_check.c \ 54 hprof_class.c \ 55 hprof_cpu.c \ 56 hprof_error.c \ 57 hprof_event.c \ 58 hprof_frame.c \ 59 hprof_init.c \ 60 hprof_io.c \ 61 hprof_ioname.c \ 62 hprof_listener.c \ 63 hprof_loader.c \ 64 hprof_md.c \ 65 hprof_monitor.c \ 66 hprof_object.c \ 67 hprof_reference.c \ 68 hprof_site.c \ 69 hprof_stack.c \ 70 hprof_string.c \ 71 hprof_table.c \ 72 hprof_tag.c \ 73 hprof_tls.c \ 74 hprof_trace.c \ 75 hprof_tracker.c \ 76 hprof_util.c 77 78 OTHER_INCLUDES = -I$(SRCDIR) \ 79 -I$(SHARE_SRC)/npt \ 80 -I$(PLATFORM_SRC)/npt \ 81 -I$(SHARE_SRC)/demo/jvmti/java_crw_demo 82 83 ifeq ($(PLATFORM), windows) 84 OTHER_LDLIBS += wsock32.lib winmm.lib 85 else 86 OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl 87 endif 88 89 # 90 # Tell library.gmk to copy the txt file first 91 # 92 INIT += $(LIBDIR)/jvm.hprof.txt 93 94 # 95 # This puts logging code in 96 # 97 CPPFLAGS_DBG += -DHPROF_LOGGING 98 99 # 100 # Library to compile. 101 # 102 include $(BUILDDIR)/common/Library.gmk 103 104 # We don't want to link against -ljava 105 JAVALIB= 106 107 # 108 # Add to ambient vpath so we pick up the library files 109 # 110 vpath %.c $(SRCDIR):$(PSRCDIR) 111 112 # 113 # Install the hprof prelude 114 # 115 $(LIBDIR)/jvm.hprof.txt: $(SRCDIR)/jvm.hprof.txt 116 $(install-file) 117 118 clean clobber:: 119 $(RM) $(LIBDIR)/jvm.hprof.txt 120