From aaa9e4d8beec2af60410bc9f318d0fc7c9e04674 Mon Sep 17 00:00:00 2001 From: KonAki Date: Thu, 15 Oct 2026 05:40:52 +0800 Subject: add mzmap, the RPG Maker map converter, and the stb_vorbis rule --- Makefile | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index f1d716e..9e9b751 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,10 @@ PACKFLAGS ?= BIN = $(OBJDIR)/$(PROGRAM)$(EXE) PACKER = $(OBJDIR)/konpack$(EXE) MODELER = $(OBJDIR)/konmodel$(EXE) +MZSURVEY = $(OBJDIR)/mzsurvey$(EXE) +MZSCRIPT = $(OBJDIR)/mzscript$(EXE) +KONS2C = $(OBJDIR)/kons2c$(EXE) +MZMAP = $(OBJDIR)/mzmap$(EXE) EXAMPLES = modelview sound ui platform dialog script corridor hills sectorview EXAMPLEBINS = $(EXAMPLES:%=$(OBJDIR)/%$(EXE)) PACKFILE = $(OBJDIR)/data.kpk @@ -73,7 +77,7 @@ $(OBJDIR)/miniaudio.o: $(SRCDIR)/impl/miniaudio.c $(EXTDIR)/miniaudio.h $(OBJDIR)/stb_vorbis.o: $(EXTDIR)/stb_vorbis.c $(COMPILEEXT) $(EXTDIR)/stb_vorbis.c -o $@ -tools: $(PACKER) $(MODELER) +tools: $(PACKER) $(MODELER) $(MZSURVEY) $(MZSCRIPT) $(KONS2C) $(MZMAP) # every example is its own program, built from the same modules as the engine without engine.c examples: $(EXAMPLEBINS) @@ -100,7 +104,28 @@ $(OBJDIR)/cgltf.o: tools/cgltf.c $(EXTDIR)/cgltf.h $(MODELER): tools/konmodel.c $(OBJDIR)/cgltf.o $(KONDIR)/konmodel.c $(KONDIR)/konmodel.h $(KONDIR)/konassets.c $(KONDIR)/konpack.c $(SRCDIR)/impl/konsofren.c @echo "# link $@" - @$(CC) $(TOOLFLAGS) -DKONMODEL_WRITER -o $@ tools/konmodel.c $(KONDIR)/konmodel.c $(KONDIR)/konassets.c $(KONDIR)/konpack.c $(SRCDIR)/impl/konsofren.c $(OBJDIR)/cgltf.o -lm + @$(CC) $(TOOLFLAGS) -DKONSOFREN_3D -DKONMODEL_WRITER -o $@ tools/konmodel.c $(KONDIR)/konmodel.c $(KONDIR)/konassets.c $(KONDIR)/konpack.c $(SRCDIR)/impl/konsofren.c $(OBJDIR)/cgltf.o -lm + +# converters. they only read other programs' data, the engine is not linked in +$(MZSURVEY): tools/mzsurvey.c $(KONDIR)/konjson.h + @mkdir -p $(OBJDIR) + @echo "# link $@" + @$(CC) $(TOOLFLAGS) -o $@ tools/mzsurvey.c + +$(MZSCRIPT): tools/mzscript.c tools/konscriptc.h $(KONDIR)/konjson.h $(KONDIR)/konscript.c $(KONDIR)/konscript.h + @mkdir -p $(OBJDIR) + @echo "# link $@" + @$(CC) $(TOOLFLAGS) -Itools -o $@ tools/mzscript.c $(KONDIR)/konscript.c + +$(KONS2C): tools/kons2c.c tools/konscriptc.h $(KONDIR)/konscript.c $(KONDIR)/konscript.h + @mkdir -p $(OBJDIR) + @echo "# link $@" + @$(CC) $(TOOLFLAGS) -Itools -o $@ tools/kons2c.c $(KONDIR)/konscript.c + +$(MZMAP): tools/mzmap.c $(KONDIR)/konjson.h + @mkdir -p $(OBJDIR) + @echo "# link $@" + @$(CC) $(TOOLFLAGS) -o $@ tools/mzmap.c pack: $(PACKER) @find $(ASSETDIR) -type f | sort > $(OBJDIR)/assets.lst @@ -110,6 +135,6 @@ run: $(BIN) ./$(BIN) clean: - rm -f $(OBJDIR)/*.o $(BIN) $(PACKER) $(MODELER) $(EXAMPLEBINS) $(PACKFILE) $(OBJDIR)/assets.lst + rm -f $(OBJDIR)/*.o $(BIN) $(PACKER) $(MODELER) $(MZSURVEY) $(MZSCRIPT) $(KONS2C) $(MZMAP) $(EXAMPLEBINS) $(PACKFILE) $(OBJDIR)/assets.lst .PHONY: all run clean tools pack examples -- cgit