annotate make/solaris/makefiles/sa.make @ 4155:394404b2d9bd

Removed strict requirement for GRAAL environment variable. It only needs to be set now if the graal directory is not in the directory hierarchy of GraalVM JDK.
author Doug Simon <doug.simon@oracle.com>
date Wed, 21 Dec 2011 11:25:27 +0100
parents 098acdf97f09
children 5a98bf7d847b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
2471
37be97a58393 7010849: 5/5 Extraneous javac source/target options when building sa-jdi
andrew
parents: 1804
diff changeset
2 # Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 971
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 971
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 971
diff changeset
21 # questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # This makefile (sa.make) is included from the sa.make in the
a61af66fc99e Initial load
duke
parents:
diff changeset
26 # build directories.
a61af66fc99e Initial load
duke
parents:
diff changeset
27
a61af66fc99e Initial load
duke
parents:
diff changeset
28 # This makefile is used to build Serviceability Agent java code
a61af66fc99e Initial load
duke
parents:
diff changeset
29 # and generate JNI header file for native methods.
a61af66fc99e Initial load
duke
parents:
diff changeset
30
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
31 include $(GAMMADIR)/make/solaris/makefiles/rules.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
32 AGENT_DIR = $(GAMMADIR)/agent
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
33 include $(GAMMADIR)/make/sa.files
0
a61af66fc99e Initial load
duke
parents:
diff changeset
34 GENERATED = ../generated
a61af66fc99e Initial load
duke
parents:
diff changeset
35
a61af66fc99e Initial load
duke
parents:
diff changeset
36 # tools.jar is needed by the JDI - SA binding
a61af66fc99e Initial load
duke
parents:
diff changeset
37 SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
a61af66fc99e Initial load
duke
parents:
diff changeset
38
1642
0e7d2a08b605 6967423: Hotspot support for modules image
mchung
parents: 1552
diff changeset
39 # TODO: if it's a modules image, check if SA module is installed.
0e7d2a08b605 6967423: Hotspot support for modules image
mchung
parents: 1552
diff changeset
40 MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
0e7d2a08b605 6967423: Hotspot support for modules image
mchung
parents: 1552
diff changeset
41
3963
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
42 AGENT_FILES_LIST := $(GENERATED)/agent.classes.list
1774
ea175c1b79ce 6561870: 3/3 Long javac compile lines fail due to command line length issues (agent compiles?)
dcubed
parents: 1642
diff changeset
43
0
a61af66fc99e Initial load
duke
parents:
diff changeset
44 SA_CLASSDIR = $(GENERATED)/saclasses
a61af66fc99e Initial load
duke
parents:
diff changeset
45
a61af66fc99e Initial load
duke
parents:
diff changeset
46 SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
a61af66fc99e Initial load
duke
parents:
diff changeset
47
a61af66fc99e Initial load
duke
parents:
diff changeset
48 SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
a61af66fc99e Initial load
duke
parents:
diff changeset
49
a61af66fc99e Initial load
duke
parents:
diff changeset
50 # if $(AGENT_DIR) does not exist, we don't build SA.
a61af66fc99e Initial load
duke
parents:
diff changeset
51 all:
a61af66fc99e Initial load
duke
parents:
diff changeset
52 $(QUIETLY) if [ -d $(AGENT_DIR) ] ; then \
a61af66fc99e Initial load
duke
parents:
diff changeset
53 $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
a61af66fc99e Initial load
duke
parents:
diff changeset
54 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
55
3963
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
56 $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
57 $(QUIETLY) echo "Making $@";
a61af66fc99e Initial load
duke
parents:
diff changeset
58 $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
a61af66fc99e Initial load
duke
parents:
diff changeset
59 echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
60 exit 1; \
a61af66fc99e Initial load
duke
parents:
diff changeset
61 fi
1642
0e7d2a08b605 6967423: Hotspot support for modules image
mchung
parents: 1552
diff changeset
62 $(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
63 echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\
a61af66fc99e Initial load
duke
parents:
diff changeset
64 echo ""; \
a61af66fc99e Initial load
duke
parents:
diff changeset
65 exit 1; \
a61af66fc99e Initial load
duke
parents:
diff changeset
66 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
67 $(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
a61af66fc99e Initial load
duke
parents:
diff changeset
68 mkdir -p $(SA_CLASSDIR); \
a61af66fc99e Initial load
duke
parents:
diff changeset
69 fi
1804
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
70 # Note: When indented, make tries to execute the '$(shell' comment.
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
71 # In some environments, cmd processors have limited line length.
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
72 # To prevent the javac invocation in the next block from using
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
73 # a very long cmd line, we use javac's @file-list option. We
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
74 # generate the file lists using make's built-in 'foreach' control
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
75 # flow which also avoids cmd processor line length issues. Since
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
76 # the 'foreach' is done as part of make's macro expansion phase,
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
77 # the initialization of the lists is also done in the same phase
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
78 # using '$(shell rm ...' instead of using the more traditional
2966dab85b3e 6985848: 3/4 fix for 6561870 causes sa-jdi.jar to be rebuilt every time
dcubed
parents: 1774
diff changeset
79 # 'rm ...' rule.
3963
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
80 $(shell rm -rf $(AGENT_FILES_LIST))
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
81 # gnumake 3.78.1 does not accept the *'s that
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
82 # are in AGENT_FILES, so use the shell to expand them.
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
83 # Be extra carefull to not produce too long command lines in the shell!
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
84 $(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST)))
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
85 $(QUIETLY) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
86 $(QUIETLY) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
a61af66fc99e Initial load
duke
parents:
diff changeset
87 $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
311
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
88 $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
89 $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
90 $(QUIETLY) mkdir -p $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
91 $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/*
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
92 $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
93 $(QUIETLY) cp -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
0
a61af66fc99e Initial load
duke
parents:
diff changeset
94 $(QUIETLY) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
a61af66fc99e Initial load
duke
parents:
diff changeset
95 $(QUIETLY) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
a61af66fc99e Initial load
duke
parents:
diff changeset
96 $(QUIETLY) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
a61af66fc99e Initial load
duke
parents:
diff changeset
97
a61af66fc99e Initial load
duke
parents:
diff changeset
98 clean:
a61af66fc99e Initial load
duke
parents:
diff changeset
99 rm -rf $(SA_CLASSDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
100 rm -rf $(GENERATED)/sa-jdi.jar
3963
098acdf97f09 7096016: SA build still produces "arg list too long" errors
never
parents: 2471
diff changeset
101 rm -rf $(AGENT_FILES_LIST)