hotspot/test/testlibrary/ctw/Makefile
author hseigel
Wed, 10 Aug 2016 15:48:04 -0700
changeset 40244 b3055c216762
parent 40033 dbd5f9838049
child 41059 6f019652dd5e
permissions -rw-r--r--
8136930: Simplify use of module-system options by custom launchers Reviewed-by: coleenp, lfoltan, mchung
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     1
#
40033
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
     2
# Copyright (c) 2013, 2016. Oracle and/or its affiliates. All rights reserved.
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     4
#
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     7
# published by the Free Software Foundation.
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     8
#
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
     9
# This code is distributed in the hope that it will be useful, but WITHOUT
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
31601
2d21e43fc8e9 8129602: Incorrect GPL header causes RE script to create wrong output
tschatzl
parents: 19767
diff changeset
    11
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    12
# version 2 for more details (a copy is included in the LICENSE file that
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    13
# accompanied this code).
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    14
#
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    15
# You should have received a copy of the GNU General Public License version
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    16
# 2 along with this work; if not, write to the Free Software Foundation,
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    17
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    18
#
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    19
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    20
# or visit www.oracle.com if you need additional information or have any
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    21
# questions.
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    22
#
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    23
#
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    24
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    25
ifneq "x$(ALT_BOOTDIR)" "x"
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    26
	BOOTDIR := $(ALT_BOOTDIR)
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    27
endif
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    28
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    29
ifeq "x$(BOOTDIR)" "x"
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    30
	JDK_HOME := $(shell dirname $(shell which java))/..
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    31
else
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    32
	JDK_HOME := $(BOOTDIR)
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    33
endif
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    34
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    35
SRC_DIR = src
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    36
BUILD_DIR = build
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    37
OUTPUT_DIR = $(BUILD_DIR)/classes
40033
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    38
TESTLIBRARY_DIR = ../../../../test/lib
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    39
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    40
JAVAC = $(JDK_HOME)/bin/javac
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    41
JAR = $(JDK_HOME)/bin/jar
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    42
40033
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    43
SRC_FILES = $(shell find $(SRC_DIR) $(TESTLIBRARY_DIR)/share/classes -name '*.java')
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    44
WB_SRC_FILES = $(shell find $(TESTLIBRARY_DIR)/sun/hotspot -name '*.java')
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    45
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    46
MAIN_CLASS = sun.hotspot.tools.ctw.CompileTheWorld
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    47
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    48
.PHONY: clean cleantmp
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    49
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    50
all: ctw.jar cleantmp
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    51
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    52
clean: cleantmp
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    53
	@rm -rf ctw.jar wb.jar
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    54
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    55
cleantmp:
40033
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    56
	@rm -rf filelist wb_filelist manifest.mf
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    57
	@rm -rf $(BUILD_DIR)
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    58
40033
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    59
ctw.jar: filelist wb.jar
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    60
	@mkdir -p $(OUTPUT_DIR)
40244
b3055c216762 8136930: Simplify use of module-system options by custom launchers
hseigel
parents: 40033
diff changeset
    61
	$(JAVAC) --add-exports java.base/jdk.internal.jimage=ALL-UNNAMED \
b3055c216762 8136930: Simplify use of module-system options by custom launchers
hseigel
parents: 40033
diff changeset
    62
		 --add-exports java.base/jdk.internal.misc=ALL-UNNAMED \
b3055c216762 8136930: Simplify use of module-system options by custom launchers
hseigel
parents: 40033
diff changeset
    63
		 --add-exports java.base/jdk.internal.reflect=ALL-UNNAMED \
b3055c216762 8136930: Simplify use of module-system options by custom launchers
hseigel
parents: 40033
diff changeset
    64
		 -sourcepath $(SRC_DIR) -d $(OUTPUT_DIR) -cp wb.jar @filelist
40033
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    65
	$(JAR) --create --file=$@ --main-class $(MAIN_CLASS) -C $(OUTPUT_DIR) .
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    66
40033
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    67
wb.jar: wb_filelist
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    68
	@mkdir -p $(OUTPUT_DIR)
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    69
	$(JAVAC)  -sourcepath $(TESTLIBRARY_DIR) \
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    70
		-d $(OUTPUT_DIR) \
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    71
		-cp $(OUTPUT_DIR) \
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    72
		@wb_filelist
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    73
	$(JAR) --create --file=$@ -C $(OUTPUT_DIR) .
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    74
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    75
wb_filelist: $(WB_SRC_FILES)
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    76
	@rm -f $@
dbd5f9838049 8143081: [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
tpivovarova
parents: 31601
diff changeset
    77
	@echo $(WB_SRC_FILES) > $@
19767
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    78
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    79
filelist: $(SRC_FILES)
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    80
	@rm -f $@
13d8c1ce7ac7 8012447: Java CTW implementation
iignatyev
parents:
diff changeset
    81
	@echo $(SRC_FILES) > $@