52 lines
1.5 KiB
Makefile
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
|