Слияние кода завершено, страница обновится автоматически
###############################################################################
# Compile Rust and C to WebAssembly with Emscripten
# WebAssembly C and C++ Source Files
WASM_CSRCS :=
# Build wasm app: wasm/wasm.html, wasm.js, wasm.wasm
TARGETS:= wasm/wasm
# Link the Rust Firmware with
# Rust Simulator Library and Rust Scripting Library
LIBS := \
target/wasm32-unknown-emscripten/debug/libapp.a \
target/wasm32-unknown-emscripten/debug/libbl602_simulator.a \
target/wasm32-unknown-emscripten/debug/libbl602_script.a
# Use emscripten compiler
CC := emcc
CPP := em++
# Options for Emscripten. We specify the WebAssembly Functions to be exported.
# TODO: Change `_rust_main` to the Rust command names.
CCFLAGS := \
-g \
-s WASM=1 \
-s DISABLE_EXCEPTION_CATCHING=0 \
-s "EXPORTED_FUNCTIONS=[ '_rust_main', '_rust_script', '_clear_simulation_events', '_get_simulation_events', '__emscripten_get_now' ]" \
-s "EXTRA_EXPORTED_RUNTIME_METHODS=[ 'cwrap', 'allocate', 'intArrayFromString', 'UTF8ToString' ]"
LDFLAGS :=
MAINS := $(addsuffix .o, $(TARGETS) )
OBJ := \
$(MAINS) \
$(CSRCS:.c=.o) \
$(WASM_CSRCS:.c=.o)
.PHONY: all clean
all: $(TARGETS)
clean:
cargo clean
rm *.o || true
rm wasm/*.o || true
rm wasm/*.wasm || true
rm wasm/*.js || true
rm wasm/*.txt || true
rm -r $(HOME)/.emscripten_cache || true
# Compile C files with Emscripten
$(OBJ): %.o : %.c $(DEPS)
$(CC) -c -o $@ $< $(CCFLAGS)
# Build the Rust Firmware and Rust Simulator Library and link with Emscripten
# TODO: Copy the WebAssembly outputs to docs folder manually in Windows
$(TARGETS): % : $(filter-out $(MAINS), $(OBJ)) %.o
# Build the Rust Firmware and Rust Simulator Library
rustup default nightly
cargo build --target wasm32-unknown-emscripten
# Link the Rust Firmware and Rust Simulator Library with Emscripten
$(CC) -o $@.html \
$(LIBS) \
$^ \
$(CCFLAGS) \
$(LDFLAGS)
# Copy the WebAssembly outputs to the docs folder for GitHub Pages
cp wasm/wasm.js docs
cp wasm/wasm.wasm docs
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )