HOI4_randomchanges/Makefile
2023-11-11 18:57:22 +04:00

52 lines
1.5 KiB
Makefile

all: patch/tree/map/definition.csv
DESTDIR ?= install
MODNAME ?= randchgs
MODPATH ?= C:/Users/User/Documents/Paradox Interactive/Hearts of Iron IV/mod/randchgs
nullstring :=
space :=
space +=
replaceQuestionBySpace = $(subst ?,$(space),$1)
replaceSpaceByQuestion = $(subst $(space),?,$1)
# patch
VANILLA_SRC ?= ../vanilla
patchwork/map/definition.csv: $(VANILLA_SRC)/map/definition.csv patches/map_definition.patch
mkdir -p $(@D)
patch -u --binary -N -o $@ $^
#build
patched_requisites := patchwork/map/definition.csv "patchwork/history/countries/ISR - Israel.txt"
build:
mkdir $@
release: build/release.zip
image/$(MODNAME): $(wildcard scr/%) patchwork/map/definition.csv
mkdir -p $@
rsync -rv src/ $@/
rsync -rv patchwork/ $@/
image/$(MODNAME).zip: image/$(MODNAME) image/$(MODNAME).mod
cd image && zip -r $(MODNAME).zip $(MODNAME)
cd image && zip $(MODNAME).zip $(MODNAME).mod
image/$(MODNAME).mod: src/descriptor.mod
cp $< $@
printf '\n%s\n' 'path="$(MODPATH)/$(MODNAME)"' >> $@
build/release.zip: src/* $(patched_requisites) | build
cd src && zip -r ../build/$(@F) ./
cd patchwork && zip -r ../build/$(@F) ./
# install
install: $(DESTDIR)/$(MODNAME).mod | $(DESTDIR)/$(MODNAME)
$(DESTDIR)/$(MODNAME) $(DESTDIR):
mkdir -p $@
$(DESTDIR)/$(MODNAME)/descriptor.mod: build/release.zip | $(DESTDIR)/$(MODNAME)
cd $| && unzip -o $(abspath build/release.zip)
$(DESTDIR)/$(MODNAME).mod: $(DESTDIR)/$(MODNAME)/descriptor.mod
cp $< $@
printf '\n%s\n' 'path="$(MODPATH)/$(MODNAME)"' >> $@
#clean
clean:
rm -rf patchwork build
.PHONY: all release clean patch install