.PHONY: native
native: ${DIST_NATIVE}/.built
.PHONY: wasm
wasm: ${DIST_WASM}/.built
.PHONY: deps
deps: node_modules
@[[ -f ${DIST_WASM}/.built ]] || node ../build/make-dependencies.js
.PHONY: clean-wasm
clean-wasm::
rm -rf ${BUILD_WASM} ${DIST_WASM}
.PHONY: clean-native
clean-native::
rm -rf ${BUILD_NATIVE} ${DIST_NATIVE}
.PHONY: clean-build
clean-build::
rm -rf ${BUILD} ${SRC}/zig-cache
clean-node_modules::
rm -rf node_modules
.PHONY: clean
clean:: clean-wasm clean-native clean-node_modules
rm -rf ${BUILD} ${DIST} tsconfig.tsbuildinfo ${SRC}/zig-cache
${TARBALL}:
mkdir -p ${UPSTREAM}
curl -L ${URL} -o ${TARBALL}
# NOTE: these double colon rules can be nicely overridden, which is where additional patching goes.
# See https://stackoverflow.com/questions/1644920/override-target-in-makefile-to-add-more-commands
#
${BUILD_NATIVE}/.build:: ${TARBALL}
rm -rf ${BUILD_NATIVE}
mkdir -p ${BUILD_NATIVE}
tar xf ${TARBALL} -C ${BUILD_NATIVE} --strip-components=1
touch ${BUILD_NATIVE}/.build
${BUILD_WASM}/.build:: ${TARBALL}
rm -rf ${BUILD_WASM}
mkdir -p ${BUILD_WASM}
tar xf ${TARBALL} -C ${BUILD_WASM} --strip-components=1
touch ${BUILD_WASM}/.build
node_modules:
pnpm install
# make the node_modules folder, in case nothing actually installed
mkdir -p node_modules