• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2022 The Android Open Source Project
3# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
4# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5#
6# This code is free software; you can redistribute it and/or modify it
7# under the terms of the GNU General Public License version 2 only, as
8# published by the Free Software Foundation.  Oracle designates this
9# particular file as subject to the "Classpath" exception as provided
10# by Oracle in the LICENSE file that accompanied this code.
11#
12# This code is distributed in the hope that it will be useful, but WITHOUT
13# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15# version 2 for more details (a copy is included in the LICENSE file that
16# accompanied this code).
17#
18# You should have received a copy of the GNU General Public License version
19# 2 along with this work; if not, write to the Free Software Foundation,
20# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21#
22# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23# or visit www.oracle.com if you need additional information or have any
24# questions.
25#
26
27# It's a very simplified version of upstream Makefile which is
28# just enough build gensrc/Gensrc*.gmk files which re-generate
29# .java files from template files.
30
31ANDROID_BUILD_TOP := $(realpath $(shell pwd)/../../../../../)
32
33# Define command line tools
34MKDIR := mkdir
35RM := rm -f # ignore if the file doesn't exist
36MV := mv
37JAVAC := javac
38TOUCH := touch
39SED := sed
40PRINTF := printf
41# Define NEWLINE. See https://www.gnu.org/software/make/manual/html_node/Multi_002dLine.html
42define NEWLINE
43
44
45endef
46
47# Define BUILD_TOOLS and rules to build BUILD_TOOLS
48# BUILD_TOOLS is defined in the upstream ToolsJdk.gmk
49SUPPORT_OUTPUTDIR := $(ANDROID_BUILD_TOP)/libcore/ojluni/src/tools/make/out
50BUILD_TOOLS_JDK_DIR := $(SUPPORT_OUTPUTDIR)/jdk_tools_classes
51BUILD_TOOLS_JDK := $(BUILD_TOOLS_JDK_DIR)/build/tools/spp/Spp.class
52TOOL_SPP = java -cp $(BUILD_TOOLS_JDK_DIR) build.tools.spp.Spp
53SPP_SRC := $(ANDROID_BUILD_TOP)/libcore/ojluni/src/tools/build/tools/spp/Spp.java
54
55$(BUILD_TOOLS_JDK): $(SPP_SRC)
56	$(MKDIR) -p $(BUILD_TOOLS_JDK_DIR)
57	$(JAVAC) -d $(BUILD_TOOLS_JDK_DIR) $(SPP_SRC)
58
59ExecuteWithLog = $(2) | tee -a $(1)
60LogAll = $(foreach v,                                        \
61      $(.VARIABLES), \
62      $(info $(v) = $($(v))))
63
64MakeTargetDir = mkdir -p $(dir $@)
65
66# Define variables only needed for GensrcCharsetEncoder.gmk
67GENSRC_CHARSETCODER_SRC := $(ANDROID_BUILD_TOP)/libcore/ojluni/src/main/java/java/nio
68
69include gensrc/GensrcCharsetCoder.gmk
70
71# Define variables only needed for GensrcBuffer.gmk
72GENSRC_BUFFER_SRC := $(ANDROID_BUILD_TOP)/libcore/ojluni/src/main/java/java/nio
73
74include gensrc/GensrcBuffer.gmk
75
76all: \
77  $(GENSRC_CHARSETCODER) \
78  $(GENSRC_BUFFER)
79
80clean:
81	rm -rf $(BUILD_TOOLS_JDK_DIR)
82	rm -f $(GENSRC_CHARSETCODER)
83	rm -f $(GENSRC_BUFFER)
84