jdk

Форк
0
/
CompileToolsJdk.gmk 
162 строки · 6.7 Кб
1
#
2
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. 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.  Oracle designates this
8
# particular file as subject to the "Classpath" exception as provided
9
# by Oracle in the LICENSE file that accompanied this code.
10
#
11
# This code is distributed in the hope that it will be useful, but WITHOUT
12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14
# version 2 for more details (a copy is included in the LICENSE file that
15
# accompanied this code).
16
#
17
# You should have received a copy of the GNU General Public License version
18
# 2 along with this work; if not, write to the Free Software Foundation,
19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
#
21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
# or visit www.oracle.com if you need additional information or have any
23
# questions.
24
#
25

26
default: all
27

28
include $(SPEC)
29
include MakeBase.gmk
30

31
include CopyFiles.gmk
32
include JavaCompilation.gmk
33
include TextFileProcessing.gmk
34

35
################################################################################
36

37
$(eval $(call IncludeCustomExtension, CompileTools.gmk))
38

39
################################################################################
40

41
# Use += to be able to add to this from a custom extension
42
BUILD_TOOLS_SRC_DIRS += \
43
    $(TOPDIR)/make/jdk/src/classes \
44
    $(BUILDTOOLS_OUTPUTDIR)/interim_tzdb_classes \
45
    #
46

47
$(eval $(call SetupJavaCompilation, BUILD_TOOLS_JDK, \
48
    TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
49
    SRC := $(BUILD_TOOLS_SRC_DIRS), \
50
    EXCLUDES := \
51
        build/tools/classlist \
52
        build/tools/deps \
53
        build/tools/docs \
54
        build/tools/jigsaw \
55
        build/tools/depend \
56
        , \
57
    BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
58
    DISABLED_WARNINGS := dangling-doc-comments options, \
59
    JAVAC_FLAGS := \
60
        --add-exports java.desktop/sun.awt=ALL-UNNAMED \
61
        --add-exports java.base/sun.text=ALL-UNNAMED \
62
        --add-exports java.base/sun.security.util=ALL-UNNAMED \
63
        --add-exports jdk.internal.opt/jdk.internal.opt=jdk.compiler.interim \
64
        --add-exports jdk.internal.opt/jdk.internal.opt=jdk.javadoc.interim, \
65
))
66

67
TARGETS += $(BUILD_TOOLS_JDK)
68

69
$(eval $(call SetupCopyFiles,COPY_NIMBUS_TEMPLATES, \
70
    SRC := $(TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus, \
71
    DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/generatenimbus/resources, \
72
    FILES := $(wildcard $(TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus/*.template)))
73

74
TARGETS += $(COPY_NIMBUS_TEMPLATES)
75

76
$(eval $(call SetupCopyFiles,COPY_CLDRCONVERTER_PROPERTIES, \
77
    SRC := $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter, \
78
    DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/cldrconverter, \
79
    FILES := $(wildcard $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter/*.properties)))
80

81
TARGETS += $(COPY_CLDRCONVERTER_PROPERTIES)
82

83
################################################################################
84

85
$(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
86
    TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
87
    SRC := $(TOPDIR)/make/jdk/src/classes, \
88
    INCLUDES := build/tools/depend, \
89
    BIN := $(BUILDTOOLS_OUTPUTDIR)/depend, \
90
    DISABLED_WARNINGS := options, \
91
    JAVAC_FLAGS := \
92
        --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
93
        --add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
94
        --add-exports jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
95
        --add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \
96
        --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
97
        --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
98
        --add-exports jdk.internal.opt/jdk.internal.opt=jdk.compiler.interim \
99
        --add-exports jdk.internal.opt/jdk.internal.opt=jdk.javadoc.interim, \
100
))
101

102
DEPEND_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services/com.sun.source.util.Plugin
103

104
$(DEPEND_SERVICE_PROVIDER):
105
	$(call MakeDir, $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services)
106
	$(ECHO) build.tools.depend.Depend > $@
107

108
TARGETS += $(COMPILE_DEPEND) $(DEPEND_SERVICE_PROVIDER)
109

110
################################################################################
111

112
# To be able to call the javascript filter when generating man pages using
113
# pandoc, we need to create this executable wrapper script.
114
ifeq ($(ENABLE_PANDOC), true)
115
  # PANDOC_TROFF_MANPAGE_FILTER is duplicated for export in ToolsJdk.gmk.
116
  PANDOC_TROFF_MANPAGE_FILTER := \
117
      $(BUILDTOOLS_OUTPUTDIR)/manpages/pandoc-troff-manpage-filter
118
  PANDOC_TROFF_MANPAGE_FILTER_SETUP := \
119
      $(BUILDTOOLS_OUTPUTDIR)/manpages/_pandoc_troff_manpage_filter_setup.marker
120

121
  # Create a usable instance of the wrapper script that calls the pandoc filter
122
  # (which is written in javascript).
123
  $(eval $(call SetupTextFileProcessing, CREATE_PANDOC_TROFF_MANPAGE_FILTER, \
124
      SOURCE_FILES := $(TOPDIR)/make/scripts/pandoc-troff-manpage-filter.sh.template, \
125
      OUTPUT_FILE := $(PANDOC_TROFF_MANPAGE_FILTER), \
126
      REPLACEMENTS := \
127
          @@JAVA_SMALL@@ => $(JAVA_SMALL) ; \
128
          @@BUILDTOOLS_OUTPUTDIR@@ => $(BUILDTOOLS_OUTPUTDIR) ; \
129
  ))
130

131
  # Created script must be made executable
132
  $(PANDOC_TROFF_MANPAGE_FILTER_SETUP): $(CREATE_PANDOC_TROFF_MANPAGE_FILTER)
133
	$(CHMOD) a+rx $(PANDOC_TROFF_MANPAGE_FILTER)
134
	$(TOUCH) $@
135

136
  TARGETS += $(PANDOC_TROFF_MANPAGE_FILTER_SETUP)
137

138
  # PANDOC_HTML_MANPAGE_FILTER is duplicated for export in ToolsJdk.gmk.
139
  PANDOC_HTML_MANPAGE_FILTER := \
140
      $(BUILDTOOLS_OUTPUTDIR)/manpages/pandoc-html-manpage-filter
141
  PANDOC_HTML_MANPAGE_FILTER_SETUP := \
142
      $(BUILDTOOLS_OUTPUTDIR)/manpages/_pandoc_html_manpage_filter_setup.marker
143

144
  # Create a usable instance of the wrapper script that calls the pandoc filter
145
  # (which is written in javascript).
146
  $(eval $(call SetupTextFileProcessing, CREATE_PANDOC_HTML_MANPAGE_FILTER, \
147
      SOURCE_FILES := $(TOPDIR)/make/scripts/pandoc-html-manpage-filter.sh.template, \
148
      OUTPUT_FILE := $(PANDOC_HTML_MANPAGE_FILTER), \
149
      REPLACEMENTS := \
150
          @@JAVA_SMALL@@ => $(JAVA_SMALL) ; \
151
          @@BUILDTOOLS_OUTPUTDIR@@ => $(BUILDTOOLS_OUTPUTDIR) ; \
152
  ))
153

154
  # Created script must be made executable
155
  $(PANDOC_HTML_MANPAGE_FILTER_SETUP): $(CREATE_PANDOC_HTML_MANPAGE_FILTER)
156
	$(CHMOD) a+rx $(PANDOC_HTML_MANPAGE_FILTER)
157
	$(TOUCH) $@
158

159
  TARGETS += $(PANDOC_HTML_MANPAGE_FILTER_SETUP)
160
endif
161

162
all: $(TARGETS)
163

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.