Print this page


Split Close
Expand all
Collapse all
          --- old/make/solaris/makefiles/sa.make
          +++ new/make/solaris/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 ↓ 24 lines elided ↑ open up ↑
  37   37  SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
  38   38  
  39   39  # TODO: if it's a modules image, check if SA module is installed.
  40   40  MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
  41   41  
  42   42  # gnumake 3.78.1 does not accept the *s that
  43   43  # are in AGENT_FILES1 and AGENT_FILES2, so use the shell to expand them
  44   44  AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
  45   45  AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
  46   46  
       47 +AGENT_FILES1_LIST := $(TOPDIR)/../agent1.classes.list
       48 +AGENT_FILES2_LIST := $(TOPDIR)/../agent2.classes.list
       49 +
  47   50  SA_CLASSDIR = $(GENERATED)/saclasses
  48   51  
  49   52  SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
  50   53  
  51   54  SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
  52   55  
  53   56  # if $(AGENT_DIR) does not exist, we don't build SA.
  54   57  all: 
  55   58          $(QUIETLY) if [ -d $(AGENT_DIR) ] ; then \
  56   59             $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
  57   60          fi
  58   61  
  59      -$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
       62 +$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) agent_files_preclean
  60   63          $(QUIETLY) echo "Making $@";
  61   64          $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
  62   65             echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
  63   66             exit 1; \
  64   67          fi
  65   68          $(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \
  66   69            echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\
  67   70            echo ""; \
  68   71            exit 1; \
  69   72          fi
  70   73          $(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
  71   74            mkdir -p $(SA_CLASSDIR);        \
  72   75          fi
  73      -        $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1)
  74      -        $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2)
  75   76          
       77 +        $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
       78 +        $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
       79 +        
       80 +        $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
       81 +        $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
       82 +        
  76   83          $(QUIETLY) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
  77   84          $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
  78   85          $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
  79   86          $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql
  80   87          $(QUIETLY) mkdir -p $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
  81   88          $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/*
  82   89          $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/
  83   90          $(QUIETLY) cp -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
  84   91          $(QUIETLY) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
  85   92          $(QUIETLY) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
  86   93          $(QUIETLY) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
  87   94  
       95 +agent_files_preclean:
       96 +        rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
       97 +
  88   98  clean:
  89   99          rm -rf $(SA_CLASSDIR)
  90  100          rm -rf $(GENERATED)/sa-jdi.jar
      101 +        rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX