Print this page


Split Close
Expand all
Collapse all
          --- old/make/linux/makefiles/sa.make
          +++ new/make/linux/makefiles/sa.make
   1    1  #
   2      -# Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
        2 +# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
   3    3  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4    4  #
   5    5  # This code is free software; you can redistribute it and/or modify it
   6    6  # under the terms of the GNU General Public License version 2 only, as
   7    7  # published by the Free Software Foundation.
   8    8  #
   9    9  # This code is distributed in the hope that it will be useful, but WITHOUT
  10   10  # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11   11  # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12   12  # version 2 for more details (a copy is included in the LICENSE file that
↓ open down ↓ 28 lines elided ↑ open up ↑
  41   41  SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
  42   42  
  43   43  # TODO: if it's a modules image, check if SA module is installed.
  44   44  MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
  45   45  
  46   46  # gnumake 3.78.1 does not accept the *s that
  47   47  # are in AGENT_FILES1 and AGENT_FILES2, so use the shell to expand them
  48   48  AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
  49   49  AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
  50   50  
       51 +AGENT_FILES1_LIST := $(TOPDIR)/../agent1.classes.list
       52 +AGENT_FILES2_LIST := $(TOPDIR)/../agent2.classes.list
       53 +
  51   54  SA_CLASSDIR = $(GENERATED)/saclasses
  52   55  
  53   56  SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
  54   57  
  55   58  SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
  56   59  
  57   60  # if $(AGENT_DIR) does not exist, we don't build SA
  58   61  # also, we don't build SA on Itanium, PowerPC, ARM or zero.
  59   62  
  60   63  all: 
  61   64          if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \
  62   65               -a "$(SRCARCH)" != "arm" \
  63   66               -a "$(SRCARCH)" != "ppc" \
  64   67               -a "$(SRCARCH)" != "zero" ] ; then \
  65   68             $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
  66   69          fi
  67   70  
  68      -$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
       71 +$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) agent_files_preclean
  69   72          $(QUIETLY) echo "Making $@"
  70   73          $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
  71   74            echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
  72   75            exit 1; \
  73   76          fi
  74   77          $(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \
  75   78            echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\
  76   79            echo ""; \
  77   80            exit 1; \
  78   81          fi
  79   82          $(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
  80   83            mkdir -p $(SA_CLASSDIR);        \
  81   84          fi
  82      -
  83      -        $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1)
  84      -        $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2)
  85      -
       85 +        
       86 +        $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
       87 +        $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
       88 +        
       89 +        $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
       90 +        $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
       91 +        
  86   92          $(QUIETLY) $(REMOTE) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
  87   93          $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
  88   94          $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
  89   95          $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql
  90   96          $(QUIETLY) mkdir -p $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
  91   97          $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/*
  92   98          $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/
  93   99          $(QUIETLY) cp -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
  94  100          $(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
  95  101          $(QUIETLY) $(REMOTE) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
  96  102          $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
  97  103          $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.ia64.IA64ThreadContext
  98  104          $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
  99  105          $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext
 100  106  
      107 +agent_files_preclean:
      108 +        rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
      109 +
 101  110  clean:
 102  111          rm -rf $(SA_CLASSDIR)
 103  112          rm -rf $(GENERATED)/sa-jdi.jar
      113 +        rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX