1 # 2 # Copyright 2002-2006 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 20 # CA 95054 USA or visit www.sun.com if you need additional information or 21 # have any questions. 22 # 23 # 24 25 # Targets are: 26 # sparc: Build the 32 bit sparc version in ./sparc 27 # sparcv9: Build the 64 bit sparcv9 version in ./sparcv9 28 # i386: Build the 32 bit i386 version in ./i386 29 30 .PHONY: sparc sparcv9 i386 31 32 ARCH_ORIG = $(shell uname -p) 33 34 C++ := CC 35 RM := /usr/bin/rm 36 MKDIRS := /usr/bin/mkdir -p 37 38 CLASSES_DIR = ../../../../build/classes 39 SAPROC_INCLUDES=-I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris 40 SADIS=../../../share/native/sadis.c 41 42 ifeq "$(ARCH_ORIG)" "i386" 43 ALL_TARGET = i386 $(filter amd64,$(shell isalist)) 44 else 45 ALL_TARGET = sparc sparcv9 46 endif 47 48 CFLAGS/i386 = 49 CFLAGS/amd64 = -xarch=amd64 50 CFLAGS/sparc = -xarch=v8 51 CFLAGS/sparv9 = -xarch=v9 52 53 all:: $(ALL_TARGET) 54 55 javahomecheck:: 56 @if [ "x$(JAVA_HOME)" = "x" ] ; then \ 57 echo You must set the environment variable JAVA_HOME before executing this Makefile ; \ 58 exit 1 ; \ 59 fi 60 61 i386 amd64 sparc sparcv9:: javahomecheck 62 $(MKDIRS) $@ 63 @javah -classpath $(CLASSES_DIR) -d $@ -jni sun.jvm.hotspot.asm.Disassembler sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal 64 CC $(CFLAGS/$@) -c -g -Kpic ${SAPROC_INCLUDES} -I$@ saproc.cpp -o $@/saproc.o 65 cc $(CFLAGS/$@) -c -g -Kpic ${SAPROC_INCLUDES} -I$@ $(SADIS) -o $@/sadis.o 66 CC $(CFLAGS/$@) -g -G -Kpic $@/saproc.o $@/sadis.o -M mapfile -o $@/libsaproc.so -ldemangle 67 CC $(CFLAGS/$@) -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc 68 69 clean:: 70 $(RM) -rf sparc sparcv9 i386 amd64