# 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 export WASI_SYSROOT 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: /home/andrew/src/c/wasm/git/wit-bindgen/target/release/wit-bindgen c /home/andrew/src/c/wasm/git/wasi-http/wit --world wasi:http/proxy sed -i 's/_0_2_0_rc_2023_11_10//g' proxy.[ch] sed -i 's/_0_2_0_RC_2023_11_10//g' proxy.[ch] /home/andrew/src/c/wasm/git/wit-bindgen/target/release/wit-bindgen markdown /home/andrew/src/c/wasm/git/wasi-http/wit --world wasi:http/proxy .PHONY: module.wasm: bindgen $(CC) $(CFLAGS) $(LDFLAGS) -o $@ proxy.c proxy_component_type.o component.c .PHONY: component.wasm: module.wasm /home/andrew/src/c/wasm/git/wasm-tools/target/release/wasm-tools component new module.wasm --adapt wasi_snapshot_preview1.reactor.wasm -o component.wasm clean: rm -f component.wasm module.wasm proxy*