# Native build rules for GlaMaC (Linux-only) # Default target all: glamac glautils # Build targets glamac: $(BINDIR)/glamac glautils: $(GLAUTILS_BINS) $(BINDIR)/glamac: $(GLAMAC_SRCS) | $(BINDIR) @echo "Building glamac..." $(CC) $^ $(CFLAGS) $(SDL3_LIBS) -o $@ # Special rule for fgla which needs glass_data dependencies $(BINDIR)/fgla: $(SRCDIR)/glautils/fgla.c $(GLASS_DATA_SRCS) | $(BINDIR) $(CC) $^ $(CFLAGS) -o $@ # General rule for other glautils (excluding fgla) $(BINDIR)/%: $(SRCDIR)/glautils/%.c | $(BINDIR) $(CC) $< $(CFLAGS) -o $@ # Excel to JSON conversion EXCEL_FILES := $(wildcard ../data/Excel/*.xlsx) JSON_FILES := $(patsubst ../data/Excel/%.xlsx, ../data/JSON/%.json, $(EXCEL_FILES)) convert-catalogs: $(JSON_FILES) ../data/JSON/%.json: ../data/Excel/%.xlsx ../scripts/excel_to_json.py @echo "Converting $< to JSON..." @$(MKDIR) ../data/JSON @cd .. && python3 scripts/excel_to_json.py $< -o $@ # Cleanup clean: clean-deps-files $(RMDIR) $(BINDIR) 2>/dev/null || true rebuild: clean all # Build-related phony targets .PHONY: all glamac glautils convert-catalogs clean rebuild