agent/src/os/bsd/Makefile

changeset 4750
39432a1cefdd
parent 3202
436b4a3231bf
child 6876
710a3c8b516e
child 7562
0e1aa319e805
     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 -

mercurial