代码拉取完成,页面将自动刷新
同步操作将从 方舟编译器/OpenArkCompiler 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#
# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved.
#
# OpenArkCompiler is licensed under Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
#
# http://license.coscl.org.cn/MulanPSL2
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR
# FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
#
# Makefile for OpenArkCompiler
OPT := O2
DEBUG := $(MAPLE_DEBUG)
OPS_ANDROID := 0
INSTALL_DIR := $(MAPLE_BUILD_OUTPUT)
MAPLE_BIN_DIR := $(MAPLE_ROOT)/src/mapleall/bin
MRT_ROOT := $(MAPLE_ROOT)/src/mrt
ANDROID_ROOT := $(MAPLE_ROOT)/android
ifeq ($(DEBUG),0)
BUILD_TYPE := RELEASE
else
BUILD_TYPE := DEBUG
endif
HOST_ARCH := 64
MIR_JAVA := 1
GN := $(MAPLE_ROOT)/tools/gn/gn
NINJA := $(shell ls $(MAPLE_ROOT)/tools/ninja*/ninja | tail -1)
GN_OPTIONS := \
GN_INSTALL_PREFIX="$(MAPLE_ROOT)" \
GN_BUILD_TYPE="$(BUILD_TYPE)" \
HOST_ARCH=$(HOST_ARCH) \
MIR_JAVA=$(MIR_JAVA) \
OPT="$(OPT)" \
OPS_ANDROID=$(OPS_ANDROID) \
TARGET="$(TARGET_PROCESSOR)" \
.PHONY: default
default: install
.PHONY: install_patch
install_patch:
@bash build/third_party/patch.sh patch
.PHONY: uninstall_patch
uninstall_patch:
@bash build/third_party/patch.sh unpatch
.PHONY: maplegen
maplegen:install_patch
$(call build_gn, $(GN_OPTIONS), maplegen)
.PHONY: maplegendef
maplegendef: maplegen
$(call build_gn, $(GN_OPTIONS), maplegendef)
.PHONY: maple
maple: maplegendef
$(call build_gn, $(GN_OPTIONS), maple)
.PHONY: irbuild
irbuild:
$(call build_gn, $(GN_OPTIONS), irbuild)
.PHONY: ast2mpl
ast2mpl:
$(call build_gn, $(GN_OPTIONS), ast2mpl)
.PHONY: mplfe
mplfe: install_patch
$(call build_gn, $(GN_OPTIONS), mplfe)
.PHONY: mplfeUT
mplfeUT:
$(call build_gn, $(GN_OPTIONS) COV_CHECK=1, mplfeUT)
.PHONY: maple-rt
maple-rt: java-core-def
$(call build_gn, $(GN_OPTIONS), maple-rt)
.PHONY: libcore
libcore: install maple-rt
cd $(MAPLE_BUILD_OUTPUT)/libjava-core; \
$(MAKE) install OPT=$(OPT) DEBUG=$(DEBUG) OPS_ANDROID=$(OPS_ANDROID)
.PHONY: java-core-def
java-core-def: install
cp -rp $(MAPLE_ROOT)/libjava-core $(MAPLE_BUILD_OUTPUT)/; \
cd $(MAPLE_BUILD_OUTPUT)/libjava-core; \
ln -f -s $(MAPLE_ROOT)/build/core/libcore.mk ./makefile; \
$(MAKE) gen-def OPT=$(OPT) DEBUG=$(DEBUG) OPS_ANDROID=$(OPS_ANDROID)
.PHONY: install
install: maple dex2mpl_install irbuild
$(shell mkdir -p $(INSTALL_DIR)/ops/linker/; \
rsync -a -L $(MRT_ROOT)/maplert/linker/maplelld.so.lds $(INSTALL_DIR)/ops/linker/; \
rsync -a -L $(MAPLE_ROOT)/build/java2d8 $(INSTALL_DIR)/bin; \
rsync -a -L $(MAPLE_BIN_DIR)/java2jar $(INSTALL_DIR)/bin/; \
rsync -a -L $(MAPLE_BIN_DIR)/jbc2mpl $(INSTALL_DIR)/bin/;)
.PHONY: all
all: install mplfe libcore
ifeq ($(OPS_ANDROID),0)
.PHONY: dex2mpl_install
dex2mpl_install:
$(shell rsync -a -L $(MAPLE_BIN_DIR)/dex2mpl $(INSTALL_DIR)/bin/;)
else
.PHONY: dex2mpl_install
dex2mpl_install:
$(shell rsync -a -L $(MAPLE_BIN_DIR)/dex2mpl_android $(INSTALL_DIR)/bin/dex2mpl;)
endif
.PHONY: setup
setup:
(cd tools; ./setup_tools.sh)
.PHONY: demo
demo:
test/maple_aarch64_with_whirl2mpl.sh test/c_demo printHuawei 1 1
THREADS := 50
ifneq ($(findstring test,$(MAKECMDGOALS)),)
TESTTARGET := $(MAKECMDGOALS)
ifdef TARGET
REALTARGET := $(TARGET)
else
REALTARGET := $(TESTTARGET)
endif
.PHONY: $(TESTTARGET)
${TESTTARGET}:
@python3 $(MAPLE_ROOT)/testsuite/driver/src/driver.py --target=$(REALTARGET) --run-path=$(MAPLE_ROOT)/output/testsuite $(if $(MOD), --mod=$(MOD),) --j=$(THREADS) --retry --report=$(MAPLE_ROOT)/report.txt
endif
.PHONY: cleanrsd
cleanrsd:uninstall_patch
@rm -rf libjava-core/libcore-all.* libjava-core/m* libjava-core/comb.*
.PHONY: clean
clean: cleanrsd
@rm -rf $(MAPLE_BUILD_OUTPUT)/
@rm -rf $(MAPLE_BUILD_OUTPUT)
.PHONY: clobber
clobber: cleanrsd
@rm -rf output
define build_gn
mkdir -p $(INSTALL_DIR); \
$(GN) gen $(INSTALL_DIR) --args='$(1)' --export-compile-commands; \
cd $(INSTALL_DIR); \
$(NINJA) -v $(2);
endef
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。