1 #
   2 # Copyright 2002-2005 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 # set WINDBG_HOME and JAVA_HOME environment variables before this make.
  26 
  27 SAWINDBGDLL = sawindbg.dll
  28 CPP32=cl.exe
  29 CPP64=cl.exe
  30 LINK32=link.exe
  31 LINK64=link.exe
  32 JAVAH=$(JAVA_HOME)/bin/javah
  33 WINDBG_INCLUDE=$(WINDBG_HOME)/sdk/inc
  34 WINDBG_LIB32=$(WINDBG_HOME)/sdk/lib/i386
  35 WINDBG_LIB_IA64=$(WINDBG_HOME)/sdk/lib/ia64
  36 WINDBG_LIB_AMD64=$(WINDBG_HOME)/sdk/lib/amd64
  37 
  38 # These do not need to be optimized (don't run a lot of code) and it
  39 # will be useful to have the assertion checks in place
  40 
  41 CFLAGS32=/nologo /MD /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
  42 
  43 CFLAGS64=/nologo /MD /W3 /GX /Od /D "WIN32" /D "WIN64" /D "_WINDOWS" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
  44 
  45 LIBS32= $(WINDBG_LIB32)/dbgeng.lib  \
  46      /nologo /subsystem:console /debug /machine:I386
  47 
  48 LIBS_IA64= $(WINDBG_LIB_IA64)/dbgeng.lib  \
  49      /nologo /subsystem:console /debug /machine:IA64
  50 
  51 LIBS_AMD64= $(WINDBG_LIB_AMD64)/dbgeng.lib bufferoverflowU.lib \
  52      /nologo /subsystem:console /debug /machine:AMD64
  53 
  54 default: i386/$(SAWINDBGDLL)
  55 
  56 ia64: ia64/$(SAWINDBGDLL)
  57 
  58 amd64: amd64/$(SAWINDBGDLL)
  59 
  60 i386/$(SAWINDBGDLL) : sawindbg.cpp
  61         @ mkdir -p i386
  62         @ $(JAVAH) -jni -classpath ../../../../build/classes sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal sun.jvm.hotspot.debugger.x86.X86ThreadContext 
  63         @ $(CPP32) /I$(JAVA_HOME)/include /I$(JAVA_HOME)/include/win32 /I$(WINDBG_INCLUDE) $(CFLAGS32) /Fp"i386/sawindbg.pch" /Fo"i386/" /Fd"i386/" /c sawindbg.cpp
  64         $(LINK32) /out:$@ /DLL i386/sawindbg.obj $(LIBS32)
  65 
  66 ia64/$(SAWINDBGDLL) : sawindbg.cpp
  67         @ mkdir -p ia64
  68         @ $(JAVAH) -jni -classpath ../../../../build/classes sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal sun.jvm.hotspot.debugger.ia64.IA64ThreadContext
  69         @ $(CPP64) /I$(JAVA_HOME)/include /I$(JAVA_HOME)/include/win32 /I$(WINDBG_INCLUDE) $(CFLAGS64) /Fp"ia64/sawindbg.pch" /Fo"ia64/" /Fd"ia64/" /c sawindbg.cpp
  70         $(LINK64) /out:$@ /DLL ia64/sawindbg.obj $(LIBS_IA64)
  71 
  72 amd64/$(SAWINDBGDLL) : sawindbg.cpp
  73         @ mkdir -p amd64
  74         @ $(JAVAH) -jni -classpath ../../../../build/classes sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
  75         @ $(CPP64) /I$(JAVA_HOME)/include /I$(JAVA_HOME)/include/win32 /I$(WINDBG_INCLUDE) $(CFLAGS64) /Fp"amd64/sawindbg.pch" /Fo"amd64/" /Fd"amd64/" /c sawindbg.cpp
  76         $(LINK64) /out:$@ /DLL amd64/sawindbg.obj $(LIBS_AMD64)
  77 
  78 clean:
  79         rm *.h
  80         rm -rf i386
  81         rm -rf ia64
  82         rm -rf amd64
  83