WIT_DIR = ../../wit/wasi-http/0.2.0 # Look for wasi-sysroot in some common places, falling back # to provided WASI_SYSROOT ifneq ("$(wildcard /usr/wasm32-wasi)", "") # Fedora WASI_SYSROOT ?= /usr/wasm32-wasi endif ADAPTOR_TYPE ?= reactor WIT_BINDGEN ?= WASM_TOOLS ?= CC = clang CFLAGS = -Wall -Wextra --target=wasm32-wasi --sysroot=$(WASI_SYSROOT) LDFLAGS = -Wl,--no-entry,--export=__heap_base,--export=__data_end,--export=malloc,--export=free,--stack-first,-z,stack-size=$$((8*1024*1024)) -mexec-model=reactor --rtlib=compiler-rt all: component.wasm bindgen: $(WIT_BINDGEN) c $(WIT_DIR) --autodrop-borrows yes --world proxy $(WIT_BINDGEN) markdown $(WIT_DIR) --world proxy .PHONY: module.wasm: bindgen $(CC) $(CFLAGS) $(LDFLAGS) -o $@ proxy.c proxy_component_type.o component.c .PHONY: component.wasm: module.wasm $(WASM_TOOLS) component new module.wasm --adapt ../../adaptors/24.0.0/wasi_snapshot_preview1.$(ADAPTOR_TYPE).wasm -o component.wasm clean: rm -f component.wasm module.wasm proxy*