agent/src/os/bsd/Makefile

changeset 4750
39432a1cefdd
parent 3202
436b4a3231bf
child 6876
710a3c8b516e
child 7562
0e1aa319e805
equal deleted inserted replaced
4719:c8b31b461e1a 4750:39432a1cefdd
1 # 1 #
2 # Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 # 4 #
5 # This code is free software; you can redistribute it and/or modify it 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 6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. 7 # published by the Free Software Foundation.
20 # or visit www.oracle.com if you need additional information or have any 20 # or visit www.oracle.com if you need additional information or have any
21 # questions. 21 # questions.
22 # 22 #
23 # 23 #
24 24
25 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 ) 25 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 )
26
27 OS := $(shell uname -s)
28
26 GCC = gcc 29 GCC = gcc
27 30
28 JAVAH = ${JAVA_HOME}/bin/javah 31 JAVAH = ${JAVA_HOME}/bin/javah
29 32
33 ifneq ($(OS), Darwin)
30 SOURCES = salibelf.c \ 34 SOURCES = salibelf.c \
31 symtab.c \ 35 symtab.c \
32 libproc_impl.c \ 36 libproc_impl.c \
33 ps_proc.c \ 37 ps_proc.c \
34 ps_core.c \ 38 ps_core.c \
35 BsdDebuggerLocal.c 39 BsdDebuggerLocal.c
36 40 OBJS = $(SOURCES:.c=.o)
37 INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") 41 OBJSPLUS = $(OBJS) sadis.o
38 42 LIBSA = $(ARCH)/libsaproc.so
39 OBJS = $(SOURCES:.c=.o)
40 43
41 LIBS = -lutil -lthread_db 44 LIBS = -lutil -lthread_db
42 45
43 CFLAGS = -c -fPIC -g -Wall -D_ALLBSD_SOURCE -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) 46 else
44 47
45 LIBSA = $(ARCH)/libsaproc.so 48 SOURCES = symtab.c \
49 libproc_impl.c \
50 ps_core.c
51 OBJS = $(SOURCES:.c=.o)
52 OBJSPLUS = MacosxDebuggerLocal.o sadis.o $(OBJS)
53 EXTINCLUDE = -I/System/Library/Frameworks/JavaVM.framework/Headers -I.
54 EXTCFLAGS = -m64 -D__APPLE__ -framework JavaNativeFoundation
55 FOUNDATIONFLAGS = -framework Foundation -F/System/Library/Frameworks/JavaVM.framework/Frameworks -framework JavaNativeFoundation -framework Security -framework CoreFoundation
56 LIBSA = $(ARCH)/libsaproc.dylib
57 endif # Darwin
58
59 INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") $(EXTINCLUDE)
60
61
62
63 CFLAGS = -c -fPIC -g -Wall -D_ALLBSD_SOURCE -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) $(EXTCFLAGS)
64
65
46 66
47 all: $(LIBSA) 67 all: $(LIBSA)
48 68
49 BsdDebuggerLocal.o: BsdDebuggerLocal.c 69 MacosxDebuggerLocal.o: MacosxDebuggerLocal.m
50 $(JAVAH) -jni -classpath ../../../../../build/bsd-i586/hotspot/outputdir/bsd_i486_compiler2/generated/saclasses \ 70 echo "OS="$(OS)
71 $(JAVAH) -jni -classpath ../../../build/classes \
51 sun.jvm.hotspot.debugger.x86.X86ThreadContext \ 72 sun.jvm.hotspot.debugger.x86.X86ThreadContext \
52 sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext 73 sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
74 $(GCC) $(CFLAGS) $(FOUNDATIONFLAGS) $<
75
76 sadis.o: ../../share/native/sadis.c
77 $(JAVAH) -jni -classpath ../../../build/classes \
78 sun.jvm.hotspot.asm.Disassembler
53 $(GCC) $(CFLAGS) $< 79 $(GCC) $(CFLAGS) $<
54 80
55 .c.obj: 81 .c.obj:
56 $(GCC) $(CFLAGS) 82 $(GCC) $(CFLAGS)
57 83
58 ifndef LDNOMAP 84 ifndef LDNOMAP
59 LFLAGS_LIBSA = -Xlinker --version-script=mapfile 85 LFLAGS_LIBSA = -Xlinker --version-script=mapfile
60 endif 86 endif
61 87
62 $(LIBSA): $(OBJS) mapfile 88 $(LIBSA): $(OBJSPLUS) mapfile
63 if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi 89 if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
64 $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS) 90 $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(FOUNDATIONFLAGS) $(OBJSPLUS) $(LIBS) $(SALIBS)
65 91
66 test.o: $(LIBSA) test.c 92 test.o: $(LIBSA) test.c
67 $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c 93 $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c
68 94
69 test: test.o 95 test: test.o
70 $(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS) 96 $(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
71 97
72 clean: 98 clean:
73 rm -f $(LIBSA) 99 rm -f $(LIBSA)
74 rm -f $(OBJS) 100 rm -f *.o
75 rm -f test.o 101 rm -f test.o
76 -rmdir $(ARCH) 102 -rmdir $(ARCH)
77

mercurial