# Some C level posix support for building WASM code. include ../build/Makefile-vars all: deps wasm include ../build/Makefile-rules BUILTINS = ${BUILD_WASM}/lib/builtins LEGACY = ${BUILD_WASM}/lib/legacy TEMP = ${BUILD_WASM}/lib/temp FTS = ${BUILD_WASM}/lib/fts BSD = ${BUILD_WASM}/lib/bsd OBJECTS = ${BUILD_WASM}/posix-wasm.o ${BUILD_WASM}/threads.o \ ${BUILTINS}/muldc3.o ${BUILTINS}/mulsc3.o ${BUILTINS}/multc3.o \ ${LEGACY}/err.o \ ${BUILD_WASM}/lib/stdlib/qsort_nr.o \ ${TEMP}/mkdtemp.o ${TEMP}/mkstemps.o \ ${FTS}/fts.o ${FTS}/cowasm_stat.o \ ${BSD}/strtonum.o ${BSD}/setmode.o ${BSD}/merge.o ${BSD}/heapsort.o ${BSD}/strtoq.o ${BSD}/rpmatch.o DEPS = $(shell find src -type f \( -iname '*.h' \)) DEBUG = #DEBUG = "-g" CFLAGS = ${DEBUG} -Oz -I${SRC} ${BUILD_WASM}/%.o: ${SRC}/%.c ${DEPS} cd ../build && make zig mkdir -p `dirname $@` cowasm-cc -c -o $@ $< ${CFLAGS} ${BUILD_WASM}/libposix.a: ${OBJECTS} cd ../build && make zig zig ar -crs ${BUILD_WASM}/libposix.a ${OBJECTS} ${DIST_WASM}/.built: ${BUILD_WASM}/libposix.a mkdir -p ${DIST_WASM} cp -rv ${SRC}/bits ${SRC}/posix-wasm.h ${SRC}/emscripten.h ${SRC}/lib/fts/fts.h ${SRC}/lib/fts/fts.h ${BUILD_WASM}/libposix.a ${DIST_WASM}/ touch ${DIST_WASM}/.built test: ${DIST_WASM}/.built echo "no tests yet (beyond 'it builds')"