@@ -25,14 +25,18 @@ WEBAPP_BUILD_DIR := $(WEBAPP_DIR)/dist
2525PYODIDE_DIR := $(WEBAPP_DIR ) /public/pyodide
2626PYODIDE_VERSION := 0.28.0
2727PYODIDE_URL := https://github.com/pyodide/pyodide/releases/download/$(PYODIDE_VERSION ) /pyodide-$(PYODIDE_VERSION ) .tar.bz2
28+ WORKER_BIN_DIR := $(WEBAPP_DIR ) /public/worker/bin
29+ IFCOPENSHELL_WASM_WHEEL := ifcopenshell-0.8.5+a51b2c5-cp313-cp313-pyodide_2025_0_wasm32.whl
30+ IFCOPENSHELL_WASM_WHEEL_URL := https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-0.8.5%2Ba51b2c5-cp313-cp313-pyodide_2025_0_wasm32.whl
31+ IFCOPENSHELL_WASM_WHEEL_PATH := $(WORKER_BIN_DIR ) /$(IFCOPENSHELL_WASM_WHEEL )
2832WEBAPP_GENERATED_DIR := $(WEBAPP_DIR ) /public/worker/generated
2933WEBAPP_IFCTESTER_MANIFEST := $(WEBAPP_GENERATED_DIR ) /ifctester.json
3034WEBAPP_IFCTESTER_BUILD_DIR := build-webapp-wheel
3135PACKAGE_WEBAPP_DIR := $(PACKAGE_NAME ) /webapp
3236PACKAGE_WEBAPP_WWW_DIR := $(PACKAGE_WEBAPP_DIR ) /www
3337
3438.PHONY : webapp-dev
35- webapp-dev : pyodide-download webapp-stage-ifctester-wheel
39+ webapp-dev : pyodide-download ifcopenshell-wasm-download webapp-stage-ifctester-wheel
3640 cd $(WEBAPP_DIR ) && npm install
3741 cd $(WEBAPP_DIR ) && npm run dev
3842
@@ -68,6 +72,18 @@ pyodide-download:
6872 echo " Pyodide $( PYODIDE_VERSION) prepared in $( PYODIDE_DIR) " ; \
6973 fi
7074
75+ .PHONY : ifcopenshell-wasm-download
76+ ifcopenshell-wasm-download :
77+ @if [ -f " $( IFCOPENSHELL_WASM_WHEEL_PATH) " ]; then \
78+ echo " IfcOpenShell wasm wheel already exists at $( IFCOPENSHELL_WASM_WHEEL_PATH) , skipping download" ; \
79+ else \
80+ echo " Downloading IfcOpenShell wasm wheel..." ; \
81+ mkdir -p $(WORKER_BIN_DIR ) ; \
82+ rm -f $(WORKER_BIN_DIR ) /ifcopenshell-* .whl; \
83+ curl -fL -o " $( IFCOPENSHELL_WASM_WHEEL_PATH) " " $( IFCOPENSHELL_WASM_WHEEL_URL) " ; \
84+ echo " IfcOpenShell wasm wheel prepared at $( IFCOPENSHELL_WASM_WHEEL_PATH) " ; \
85+ fi
86+
7187.PHONY : webapp-stage-ifctester-wheel
7288webapp-stage-ifctester-wheel :
7389 rm -rf $(WEBAPP_GENERATED_DIR )
92108 rm -rf $(WEBAPP_IFCTESTER_BUILD_DIR)
93109
94110.PHONY : webapp-build
95- webapp-build : pyodide-download webapp-stage-ifctester-wheel
111+ webapp-build : pyodide-download ifcopenshell-wasm-download webapp-stage-ifctester-wheel
96112 cd $(WEBAPP_DIR ) && npm install
97113 cd $(WEBAPP_DIR ) && npm run build
98114
@@ -105,6 +121,7 @@ clean:
105121 rm -rf $(WEBAPP_BUILD_DIR )
106122 rm -rf $(WEBAPP_DIR ) /node_modules
107123 rm -rf $(PYODIDE_DIR )
124+ rm -f $(WORKER_BIN_DIR ) /ifcopenshell-* .whl
108125 rm -rf $(WEBAPP_GENERATED_DIR )
109126 rm -rf $(WEBAPP_IFCTESTER_BUILD_DIR )
110127 rm -rf $(PACKAGE_NAME ) /webapp
0 commit comments