blob: e092144a1a6d0c39e1615d789d3b50fe5de09574 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# 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 = /home/andrew/src/c/wasm/git/wit-bindgen/target/release/wit-bindgen
WASM_TOOLS = /home/andrew/src/c/wasm/git/wasm-tools/target/release/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/wasi-http/0.2.0 --autodrop-borrows yes --world proxy
$(WIT_BINDGEN) markdown ../../wit/wasi-http/0.2.0 --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*
|