summaryrefslogtreecommitdiff
path: root/c/wasi-http/echo-request/Makefile
blob: 4fb75fe8b9830144ab353a3a11eafed20689e563 (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
# 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/wasm-tools-1.0.48-x86_64-linux/wasm-tools component new module.wasm --adapt wasi_snapshot_preview1.reactor.wasm -o component.wasm

clean:
	rm -f component.wasm module.wasm proxy*