# Host-side tools for the JoeyLib asset pipeline. # # These build with the host's default `cc` (no cross-toolchain) into # build/tools/. Currently: # modloopend -- inject an E8FF stop-marker pattern into a .MOD so # the Amiga audio HAL can honor PlayMod(loop=false). # joeymod invokes this transparently for Amiga output. # mkstlevel -- host helper for Space Taxi level packaging. # # Asset baking (PNG -> .tbk / .spr) is handled by tools/assetbake/ # assetbake.py (Python). It is invoked directly from each platform's # Makefile and does not need a C build step. include $(dir $(lastword $(MAKEFILE_LIST)))/common.mk BUILD_DIR := $(REPO_DIR)/build/tools TOOLS_DIR := $(REPO_DIR)/tools HOST_CC ?= cc HOST_CFLAGS := -std=c99 -Wall -Wextra -Werror -O2 MODLOOPEND_SRC := $(TOOLS_DIR)/modloopend/modloopend.c MODLOOPEND_BIN := $(BUILD_DIR)/modloopend MKSTLEVEL_SRC := $(REPO_DIR)/examples/spacetaxi/mkstlevel/mkstlevel.c MKSTLEVEL_BIN := $(BUILD_DIR)/mkstlevel .PHONY: all tools clean-tools modloopend mkstlevel all tools: $(MODLOOPEND_BIN) $(MKSTLEVEL_BIN) modloopend: $(MODLOOPEND_BIN) mkstlevel: $(MKSTLEVEL_BIN) $(MODLOOPEND_BIN): $(MODLOOPEND_SRC) @mkdir -p $(dir $@) $(HOST_CC) $(HOST_CFLAGS) $< -o $@ $(MKSTLEVEL_BIN): $(MKSTLEVEL_SRC) @mkdir -p $(dir $@) $(HOST_CC) $(HOST_CFLAGS) $< -o $@ clean-tools: rm -rf $(BUILD_DIR)