1.1 --- a/agent/src/os/bsd/Makefile Wed Mar 13 17:34:29 2013 -0400 1.2 +++ b/agent/src/os/bsd/Makefile Thu Mar 14 00:33:08 2013 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 # 1.5 -# Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved. 1.6 +# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 1.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 # 1.9 # This code is free software; you can redistribute it and/or modify it 1.10 @@ -22,34 +22,60 @@ 1.11 # 1.12 # 1.13 1.14 -ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "amd64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) 1.15 +ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "amd64" ]) ; then echo amd64; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) 1.16 + 1.17 +OS := $(shell uname -s) 1.18 + 1.19 GCC = gcc 1.20 1.21 JAVAH = ${JAVA_HOME}/bin/javah 1.22 1.23 +ifneq ($(OS), Darwin) 1.24 SOURCES = salibelf.c \ 1.25 symtab.c \ 1.26 libproc_impl.c \ 1.27 ps_proc.c \ 1.28 ps_core.c \ 1.29 BsdDebuggerLocal.c 1.30 - 1.31 -INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") 1.32 - 1.33 -OBJS = $(SOURCES:.c=.o) 1.34 +OBJS = $(SOURCES:.c=.o) 1.35 +OBJSPLUS = $(OBJS) sadis.o 1.36 +LIBSA = $(ARCH)/libsaproc.so 1.37 1.38 LIBS = -lutil -lthread_db 1.39 1.40 -CFLAGS = -c -fPIC -g -Wall -D_ALLBSD_SOURCE -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) 1.41 +else 1.42 1.43 -LIBSA = $(ARCH)/libsaproc.so 1.44 +SOURCES = symtab.c \ 1.45 + libproc_impl.c \ 1.46 + ps_core.c 1.47 +OBJS = $(SOURCES:.c=.o) 1.48 +OBJSPLUS = MacosxDebuggerLocal.o sadis.o $(OBJS) 1.49 +EXTINCLUDE = -I/System/Library/Frameworks/JavaVM.framework/Headers -I. 1.50 +EXTCFLAGS = -m64 -D__APPLE__ -framework JavaNativeFoundation 1.51 +FOUNDATIONFLAGS = -framework Foundation -F/System/Library/Frameworks/JavaVM.framework/Frameworks -framework JavaNativeFoundation -framework Security -framework CoreFoundation 1.52 +LIBSA = $(ARCH)/libsaproc.dylib 1.53 +endif # Darwin 1.54 + 1.55 +INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") $(EXTINCLUDE) 1.56 + 1.57 + 1.58 + 1.59 +CFLAGS = -c -fPIC -g -Wall -D_ALLBSD_SOURCE -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) $(EXTCFLAGS) 1.60 + 1.61 + 1.62 1.63 all: $(LIBSA) 1.64 1.65 -BsdDebuggerLocal.o: BsdDebuggerLocal.c 1.66 - $(JAVAH) -jni -classpath ../../../../../build/bsd-i586/hotspot/outputdir/bsd_i486_compiler2/generated/saclasses \ 1.67 +MacosxDebuggerLocal.o: MacosxDebuggerLocal.m 1.68 + echo "OS="$(OS) 1.69 + $(JAVAH) -jni -classpath ../../../build/classes \ 1.70 sun.jvm.hotspot.debugger.x86.X86ThreadContext \ 1.71 sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext 1.72 + $(GCC) $(CFLAGS) $(FOUNDATIONFLAGS) $< 1.73 + 1.74 +sadis.o: ../../share/native/sadis.c 1.75 + $(JAVAH) -jni -classpath ../../../build/classes \ 1.76 + sun.jvm.hotspot.asm.Disassembler 1.77 $(GCC) $(CFLAGS) $< 1.78 1.79 .c.obj: 1.80 @@ -59,9 +85,9 @@ 1.81 LFLAGS_LIBSA = -Xlinker --version-script=mapfile 1.82 endif 1.83 1.84 -$(LIBSA): $(OBJS) mapfile 1.85 +$(LIBSA): $(OBJSPLUS) mapfile 1.86 if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi 1.87 - $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS) 1.88 + $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(FOUNDATIONFLAGS) $(OBJSPLUS) $(LIBS) $(SALIBS) 1.89 1.90 test.o: $(LIBSA) test.c 1.91 $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c 1.92 @@ -71,7 +97,6 @@ 1.93 1.94 clean: 1.95 rm -f $(LIBSA) 1.96 - rm -f $(OBJS) 1.97 + rm -f *.o 1.98 rm -f test.o 1.99 -rmdir $(ARCH) 1.100 -