agent/src/os/linux/Makefile

Fri, 29 Apr 2016 00:06:10 +0800

author
aoqi
date
Fri, 29 Apr 2016 00:06:10 +0800
changeset 1
2d8a650513c2
parent 0
f90c822e73f8
child 6876
710a3c8b516e
permissions
-rw-r--r--

Added MIPS 64-bit port.

     1 #
     2 # Copyright (c) 2002, 2012, 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.
     8 #
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 # version 2 for more details (a copy is included in the LICENSE file that
    13 # accompanied this code).
    14 #
    15 # You should have received a copy of the GNU General Public License version
    16 # 2 along with this work; if not, write to the Free Software Foundation,
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    22 #  
    23 #
    25 #
    26 # This file has been modified by Loongson Technology in 2015. These
    27 # modifications are Copyright (c) 2015 Loongson Technology, and are made
    28 # available on the same license terms set forth above.
    29 #
    31 ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "mips64" ]) ; then echo mips ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
    32 GCC      = gcc
    34 JAVAH    = ${JAVA_HOME}/bin/javah
    36 SOURCES  = salibelf.c   \
    37         symtab.c        \
    38 	libproc_impl.c  \
    39 	ps_proc.c       \
    40 	ps_core.c       \
    41 	LinuxDebuggerLocal.c 
    43 INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux 
    45 OBJS     = $(SOURCES:%.c=$(ARCH)/%.o) $(ARCH)/sadis.o
    47 LIBS     = -lthread_db
    49 CFLAGS   = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) -I$(ARCH)
    51 LIBSA = $(ARCH)/libsaproc.so
    53 all: $(LIBSA)
    55 $(ARCH):
    56        mkdir $(ARCH)
    58 $(ARCH)/LinuxDebuggerLocal.o: LinuxDebuggerLocal.c
    59         $(JAVAH) -jni -classpath ../../../build/classes -d $(ARCH) \
    60 		sun.jvm.hotspot.debugger.x86.X86ThreadContext \
    61 		sun.jvm.hotspot.debugger.sparc.SPARCThreadContext \
    62 		sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext 
    63         $(GCC) $(CFLAGS) $< -o $@
    65 $(ARCH)/sadis.o:  ../../share/native/sadis.c
    66         $(JAVAH) -jni -classpath ../../../build/classes -d $(ARCH) \
    67                 sun.jvm.hotspot.asm.Disassembler
    68         $(GCC) $(CFLAGS) $< -o $@
    70 $(ARCH)/%.o: %.c
    71         $(GCC) $(CFLAGS) $< -o $@
    73 ifndef LDNOMAP
    74   LFLAGS_LIBSA = -Xlinker --version-script=mapfile
    75 endif
    77 # If this is a --hash-style=gnu system, use --hash-style=both
    78 #   The gnu .hash section won't work on some Linux systems like SuSE 10.
    79 _HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu')
    80 ifneq ($(_HAS_HASH_STYLE_GNU),)
    81   LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
    82 endif
    83 LFLAGS_LIBSA += $(LDFLAGS_HASH_STYLE)
    85 $(LIBSA): $(ARCH) $(OBJS) mapfile
    86         $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
    88 test.o: test.c
    89 	$(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c
    91 test: test.o
    92 	$(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
    94 clean:
    95         rm -fr $(ARCH)

mercurial