41 lines
1.2 KiB
Batchfile
41 lines
1.2 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
set app_source_path=..\test_app.c
|
|
echo %1 | findstr /r "^[A-Za-z]:" >nul
|
|
if not "%1"=="" (
|
|
if %errorlevel% equ 0 (
|
|
set app_source_path=%1
|
|
) else (
|
|
set app_source_path=..\%1
|
|
)
|
|
)
|
|
set app_module_name=app.wasm
|
|
if not "%2"=="" (
|
|
set app_module_name=%2
|
|
)
|
|
|
|
if not exist build mkdir build
|
|
pushd build
|
|
|
|
echo [Compiling %app_source_path% to %app_module_name%...]
|
|
clang %app_source_path% -o "%app_module_name%" -I ".." -I "..\std" -std=gnu2x -O0 --target=wasm32-unknown-unknown -mbulk-memory -Wl,--no-entry,--export-dynamic,--allow-undefined,--export=__heap_base --no-standard-libraries --no-standard-includes
|
|
if %ERRORLEVEL% NEQ 0 (
|
|
echo [FAILED to build %app_module_name%!]
|
|
goto :build_end
|
|
) else (
|
|
echo [Done!]
|
|
)
|
|
|
|
XCOPY ".\%app_module_name%" "..\data\" /Y > NUL
|
|
|
|
rem Convert .wasm to .wat (the text format for WebAssembly) for debug inspection
|
|
set "app_module_wat_name=%app_module_name:.wasm=.wat%"
|
|
if "%app_module_wat_name%" == "%app_module_name%" (
|
|
set app_module_wat_name=%app_module_name%.wat
|
|
)
|
|
echo [Converting %app_module_name% to %app_module_wat_name%...]
|
|
wasm2wat "%app_module_name%" > "%app_module_wat_name%"
|
|
|
|
:build_end
|
|
popd |