summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonAki <konaki@anokonaki.org>2026-10-15 05:40:52 +0800
committerKonAki <konaki@anokonaki.org>2026-10-15 05:40:52 +0800
commitaaa9e4d8beec2af60410bc9f318d0fc7c9e04674 (patch)
treea06e8b38f7cd68e3c51a0121c133bec8932ab0b7
parent4cc59a3d028629fbfffeddf89ab9af20c3b878d2 (diff)
add mzmap, the RPG Maker map converter, and the stb_vorbis rule
-rw-r--r--Makefile31
1 files 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