mirror of
https://github.com/openharmony/ark_js_runtime.git
synced 2026-08-27 02:31:17 -04:00
45dd942ea2
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5EYP3 Signed-off-by: Hailiang Hu <allenpas@huawei.com> Change-Id: I771a63cf807e9971badf7228f337cb9a62ee258e
140 lines
6.3 KiB
Makefile
140 lines
6.3 KiB
Makefile
# Copyright (c) 2021 Huawei Device Co., Ltd.
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
debug:=no
|
|
log:=no
|
|
arm:=no
|
|
args:=
|
|
product:=
|
|
product_dir:=
|
|
qemu:=
|
|
compiler:=
|
|
compiler_args:=
|
|
stub_compiler:=
|
|
jsvm:=
|
|
module_flag:=
|
|
empty:=
|
|
space:=$(empty) $(empty)
|
|
root_dir=$(shell pwd)
|
|
ifeq ($(test), )
|
|
test_name=helloaot
|
|
else
|
|
test_name=$(test)
|
|
endif
|
|
|
|
ifeq ($(module), yes)
|
|
module_flag=-m
|
|
endif
|
|
|
|
ifeq ($(log), yes)
|
|
args+= --log-compiled-methods=all --log-level=info
|
|
endif
|
|
|
|
ifeq ($(arm), no)
|
|
product=hispark_taurus
|
|
product_dir=$(root_dir)/out/$(product)
|
|
ifeq ($(debug), no)
|
|
export LD_LIBRARY_PATH=$(product_dir)/clang_x64/ark/ark:$(product_dir)/clang_x64/ark/ark_js_runtime:$(product_dir)/clang_x64/thirdparty/icu:$(root_dir)/prebuilts/clang/ohos/linux-x86_64/llvm/lib
|
|
compiler=$(product_dir)/clang_x64/ark/ark_js_runtime/ark_aot_compiler
|
|
stub_compiler=$(product_dir)/clang_x64/ark/ark_js_runtime/ark_stub_compiler
|
|
jsvm=$(product_dir)/clang_x64/ark/ark_js_runtime/ark_js_vm
|
|
else
|
|
export LD_LIBRARY_PATH=$(product_dir)/clang_x64/exe.unstripped/clang_x64/ark/ark:$(product_dir)/clang_x64/exe.unstripped/clang_x64/ark/ark_js_runtime:$(product_dir)/clang_x64/lib.unstripped/clang_x64/ark/ark:$(product_dir)/clang_x64/lib.unstripped/clang_x64/ark/ark_js_runtime:$(product_dir)/clang_x64/lib.unstripped/clang_x64/test/test:$(product_dir)/clang_x64/lib.unstripped/clang_x64/thirdparty/icu:$(root_dir)/prebuilts/clang/ohos/linux-x86_64/llvm/lib
|
|
compiler=$(product_dir)/clang_x64/exe.unstripped/clang_x64/ark/ark_js_runtime/ark_aot_compiler
|
|
stub_compiler=$(product_dir)/clang_x64/exe.unstripped/clang_x64/ark/ark_js_runtime/ark_stub_compiler
|
|
jsvm=$(product_dir)/clang_x64/exe.unstripped/clang_x64/ark/ark_js_runtime/ark_js_vm
|
|
endif
|
|
else
|
|
product=rk3568
|
|
product_dir=$(root_dir)/out/$(product)
|
|
qemu=qemu-aarch64
|
|
compiler_args+= --target-triple=aarch64-unknown-linux-gnu
|
|
ifeq ($(debug), no)
|
|
export LD_LIBRARY_PATH=$(product_dir)/ark/ark/:$(product_dir)/ark/ark_js_runtime/:$(root_dir)/prebuilts/clang/ohos/linux-x86_64/llvm/lib/aarch64-linux-ohos/c++/:$(product_dir)/utils/utils_base/:$(product_dir)/thirdparty/icu:$(product_dir)/securec/thirdparty_bounds_checking_function/:$(product_dir)/hiviewdfx/hitrace_native/:$(product_dir)/clang_x64/ark/ark/:$(product_dir)/clang_x64/thirdparty/icu/:$(product_dir)/clang_x64/ark/ark_js_runtime
|
|
compiler=$(product_dir)/clang_x64/ark/ark_js_runtime/ark_aot_compiler
|
|
stub_compiler=$(product_dir)/clang_x64/ark/ark_js_runtime/ark_stub_compiler
|
|
jsvm=$(product_dir)/ark/ark_js_runtime/ark_js_vm
|
|
else
|
|
export LD_LIBRARY_PATH=$(product_dir)/lib.unstripped/ark/ark/:$(product_dir)/lib.unstripped/ark/ark_js_runtime/:$(root_dir)/prebuilts/clang/ohos/linux-x86_64/llvm/lib/aarch64-linux-ohos/c++/:$(product_dir)/lib.unstripped/utils/utils_base/:$(product_dir)/lib.unstripped/thirdparty/icu:$(product_dir)/lib.unstripped/securec/thirdparty_bounds_checking_function/:$(product_dir)/lib.unstripped/hiviewdfx/hitrace_native/:$(product_dir)/lib.unstripped/clang_x64/ark/ark/:$(product_dir)/clang_x64/lib.unstripped/clang_x64/thirdparty/icu/:$(product_dir)/clang_x64/lib.unstripped/clang_x64/ark/ark/:$(product_dir)/clang_x64/lib.unstripped/clang_x64/ark/ark_js_runtime
|
|
compiler=$(product_dir)/clang_x64/exe.unstripped/clang_x64/ark/ark_js_runtime/ark_aot_compiler
|
|
stub_compiler=$(product_dir)/clang_x64/exe.unstripped/clang_x64/ark/ark_js_runtime/ark_stub_compiler
|
|
jsvm=$(product_dir)/exe.unstripped/ark/ark_js_runtime/ark_js_vm
|
|
endif
|
|
endif
|
|
|
|
test_dir=$(root_dir)/ark/js_runtime/test/aottest
|
|
ts2abc=$(product_dir)/clang_x64/obj/ark/ts2abc/ts2panda/build/src/index.js
|
|
out_dir=$(product_dir)/clang_x64/aottest
|
|
case_dir=$(out_dir)/$(test_name)
|
|
com_stub_args=--asm-interpreter=true --stub-file=$(out_dir)/stub.m
|
|
|
|
abc:
|
|
mkdir -p $(case_dir)
|
|
node --expose-gc $(ts2abc) $(wildcard $(test_dir)/$(test_name)/$(test_name).[tj]s) $(module_flag)
|
|
|
|
stub:
|
|
mkdir -p $(out_dir)
|
|
$(stub_compiler) $(compiler_args) $(args) --stub-file=$(out_dir)/stub.m
|
|
|
|
aot:
|
|
$(compiler) $(compiler_args) $(args) --aot-file=$(case_dir)/aot_file.m $(subst $(space),:,$(wildcard $(test_dir)/$(test_name)/*.abc))
|
|
|
|
aotd:
|
|
gdb --args $(compiler) $(compiler_args) $(args) --aot-file=$(case_dir)/aot_file.m $(subst $(space),:,$(wildcard $(test_dir)/$(test_name)/*.abc))
|
|
|
|
run:
|
|
$(qemu) $(jsvm) $(args) --aot-file=$(case_dir)/aot_file.m $(com_stub_args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
|
|
rund:
|
|
ifeq ($(arm), no)
|
|
gdb --args $(jsvm) $(args) --aot-file=$(case_dir)/aot_file.m $(com_stub_args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
else
|
|
@echo "gdb-client start: gdb-multiarch $(jsvm)"
|
|
@echo "gdb-server connect: target remote:123456"
|
|
$(qemu) -cpu max,sve=off -g 123456 $(jsvm) $(args) --aot-file=$(case_dir)/aot_file.m $(com_stub_args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
endif
|
|
|
|
int:
|
|
$(qemu) $(jsvm) $(args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
|
|
intd:
|
|
ifeq ($(arm), no)
|
|
gdb --args $(jsvm) $(args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
else
|
|
@echo "gdb-client start: gdb-multiarch $(jsvm)"
|
|
@echo "gdb-server connect: target remote:123456"
|
|
$(qemu) -cpu max,sve=off -g 123456 $(jsvm) $(args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
endif
|
|
|
|
asmint:
|
|
$(qemu) $(jsvm) $(args) $(com_stub_args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
|
|
asmintd:
|
|
ifeq ($(arm), no)
|
|
gdb --args $(jsvm) $(args) $(com_stub_args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
else
|
|
@echo "gdb-client start: gdb-multiarch $(jsvm)"
|
|
@echo "gdb-server connect: target remote:123456"
|
|
$(qemu) -cpu max,sve=off -g 123456 $(jsvm) $(args) $(com_stub_args) $(test_dir)/$(test_name)/$(test_name).abc
|
|
endif
|
|
|
|
clean:
|
|
rm $(test_dir)/$(test_name)/*.abc
|
|
rm -rf $(case_dir)
|
|
|
|
env:
|
|
@echo "root_dir=$(root_dir)"
|
|
@echo "test_name=$(test_name)"
|
|
@echo "test_dir=$(test_dir)"
|
|
@echo "case_dir=$(case_dir)"
|
|
@echo "export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)"
|