diff options
| author | Marcus Huderle <huderlem@gmail.com> | 2019-02-04 09:22:56 -0600 |
|---|---|---|
| committer | Marcus Huderle <huderlem@gmail.com> | 2019-02-04 10:44:11 -0600 |
| commit | a0ba1b7c6353f7e4f3066025514c05b323a0123d (patch) | |
| tree | 19bf9405189122eee3640446603b0341063c0eb8 /map_data_rules.mk | |
| parent | 6aa410618f45c5b28de875d407aa14b907d4e5f5 (diff) | |
Convert map data to JSON
Diffstat (limited to 'map_data_rules.mk')
| -rwxr-xr-x | map_data_rules.mk | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/map_data_rules.mk b/map_data_rules.mk new file mode 100755 index 000000000..db5c989d6 --- /dev/null +++ b/map_data_rules.mk @@ -0,0 +1,31 @@ +# Map JSON data + +MAPS_DIR = data/maps +LAYOUTS_DIR = data/layouts + +MAP_DIRS := $(dir $(wildcard $(MAPS_DIR)/*/)) +MAP_CONNECTIONS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/connections.inc,$(MAP_DIRS)) +MAP_EVENTS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/events.inc,$(MAP_DIRS)) +MAP_HEADERS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/header.inc,$(MAP_DIRS)) + +$(BUILD_DIR)/data/maps.o: data/maps.s $(LAYOUTS_DIR)/layouts.inc $(LAYOUTS_DIR)/layouts_table.inc $(MAPS_DIR)/headers.inc $(MAPS_DIR)/groups.inc $(MAPS_DIR)/connections.inc $(MAP_CONNECTIONS) $(MAP_HEADERS) + $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@ +$(BUILD_DIR)/data/map_events.o: data/map_events.s $(MAPS_DIR)/events.inc $(MAP_EVENTS) + $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@ + +$(MAPS_DIR)/%/header.inc: $(MAPS_DIR)/%/map.json + $(MAPJSON) map $< $(LAYOUTS_DIR)/layouts.json +$(MAPS_DIR)/%/events.inc: $(MAPS_DIR)/%/header.inc ; +$(MAPS_DIR)/%/connections.inc: $(MAPS_DIR)/%/events.inc ; + +$(MAPS_DIR)/groups.inc: $(MAPS_DIR)/map_groups.json + $(MAPJSON) groups $< +$(MAPS_DIR)/connections.inc: $(MAPS_DIR)/groups.inc ; +$(MAPS_DIR)/events.inc: $(MAPS_DIR)/connections.inc ; +$(MAPS_DIR)/headers.inc: $(MAPS_DIR)/events.inc ; +include/constants/map_groups.h: $(MAPS_DIR)/headers.inc ; + +$(LAYOUTS_DIR)/layouts.inc: $(LAYOUTS_DIR)/layouts.json + $(MAPJSON) layouts $< +$(LAYOUTS_DIR)/layouts_table.inc: $(LAYOUTS_DIR)/layouts.inc ; +include/constants/layouts.h: $(LAYOUTS_DIR)/layouts_table.inc ; |
