Skip to content

Commit b812f0e

Browse files
committed
v1.0.2 rc2 (keep thcrap between dists)
1 parent 3c1cca8 commit b812f0e

File tree

1 file changed

+29
-20
lines changed

1 file changed

+29
-20
lines changed

Makefile

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,14 @@ $(PATCH_DEV_DIR)/th17/st%.ecl: game-files/patched/st%.txt game-files/patched/ECL
101101
DIR_TO_PACK=.make/dist/seasonize-v$(VERSION)
102102
PACKED_PATCH_DIR=$(DIR_TO_PACK)/seasonize
103103
THCRAP_CONFIG_FILENAME=seasonize.js
104+
BUILD_THCRAP_DIR=.make/thcrap
104105
PACKED_THCRAP_DIR=$(DIR_TO_PACK)/thcrap
105106
PACKED_EXE_DIR=$(DIR_TO_PACK)/game-files
106-
PROOF_OF_THCRAP=$(PACKED_THCRAP_DIR)/bin/thcrap_loader.exe
107+
PROOF_OF_THCRAP=$(BUILD_THCRAP_DIR)/bin/thcrap_loader.exe
107108
PROOFS_OF_PATCHES = \
108-
$(PACKED_THCRAP_DIR)/repos/thpatch/lang_en/patch.js \
109-
$(PACKED_THCRAP_DIR)/repos/ExpHP/c_key/patch.js \
110-
$(PACKED_THCRAP_DIR)/repos/32th/score_uncap/patch.js \
109+
$(BUILD_THCRAP_DIR)/repos/thpatch/lang_en/patch.js \
110+
$(BUILD_THCRAP_DIR)/repos/ExpHP/c_key/patch.js \
111+
$(BUILD_THCRAP_DIR)/repos/32th/score_uncap/patch.js \
111112
# end
112113
PACKED_SOURCE_ARCHIVE = $(DIR_TO_PACK)/seasonize-v$(VERSION)-src.tar.gz
113114
ECLPLUS_REPO_DIR = .make/ECLplus
@@ -130,13 +131,8 @@ THINGS_TO_PACK = \
130131
$(DIR_TO_PACK)/LICENSE_ECLPLUS.txt \
131132
$(DIR_TO_PACK)/README.md \
132133
$(PACKED_LAUNCHER_EXE) \
133-
$(PROOF_OF_THCRAP) \
134-
$(PROOF_OF_CKEY_PATCH) \
135-
$(PROOF_OF_EN_PATCH) \
136-
$(PACKED_THCRAP_DIR)/bin/thcrap_update_nope.dll \
137-
$(PACKED_THCRAP_DIR)/config/games.js \
138-
$(PACKED_THCRAP_DIR)/config/$(THCRAP_CONFIG_FILENAME) \
139134
$(PACKED_ECLPLUS_FILES) \
135+
copy-thcrap-to-dist \
140136
copy-dist-patch-files \
141137
check-no-game-files \
142138
# end
@@ -164,22 +160,29 @@ $(ECLPLUS_BUILD_ARTIFACTS) &: .make/submodules.stamp
164160
@echo >&2 '=============================================='
165161
@false
166162

163+
FILES_REQUIRED_IN_THCRAP = \
164+
$(PROOF_OF_THCRAP) \
165+
$(PROOFS_OF_PATCHES) \
166+
$(BUILD_THCRAP_DIR)/bin/thcrap_update_nope.dll \
167+
$(BUILD_THCRAP_DIR)/config/games.js \
168+
$(BUILD_THCRAP_DIR)/config/$(THCRAP_CONFIG_FILENAME) \
169+
167170
$(PROOF_OF_THCRAP):
168-
rm -rf $(PACKED_THCRAP_DIR)
169-
mkdir -p $(PACKED_THCRAP_DIR)
170-
cd $(PACKED_THCRAP_DIR) && ( \
171+
rm -rf $(BUILD_THCRAP_DIR)
172+
mkdir -p $(BUILD_THCRAP_DIR)
173+
cd $(BUILD_THCRAP_DIR) && ( \
171174
wget -O thcrap.zip https://github.com/thpatch/thcrap/releases/download/$(THCRAP_VERSION)/thcrap.zip && \
172175
unzip thcrap.zip && \
173176
rm thcrap.zip && \
174177
true) || { rm -f $(PROOF_OF_THCRAP); false; }
175178

176179
# The order-only prerequisite here is to prevent interleaving output to
177180
# stderr when both of these need attention.
178-
$(PROOFS_OF_PATCHES) &: $(PROOF_OF_THCRAP) $(PACKED_THCRAP_DIR)/config/games.js | $(ECLPLUS_BUILD_ARTIFACTS)
181+
$(PROOFS_OF_PATCHES) &: $(PROOF_OF_THCRAP) $(BUILD_THCRAP_DIR)/config/games.js | $(ECLPLUS_BUILD_ARTIFACTS)
179182
@echo >&2 '=============================================='
180183
@echo >&2 "== Hi! It's me again, the makefile that can't do anything!"
181184
@echo >&2 "== I know it's a pain and all, but... could you by any chance run"
182-
@echo >&2 "== $(PACKED_THCRAP_DIR)/thcrap_configure.exe"
185+
@echo >&2 "== $(BUILD_THCRAP_DIR)/thcrap_configure.exe"
183186
@echo >&2 "== and create a configuration with the following patches installed?"
184187
@echo >&2 "== thpatch/lang_en"
185188
@echo >&2 "== 32th/score_uncap"
@@ -190,17 +193,22 @@ $(PROOFS_OF_PATCHES) &: $(PROOF_OF_THCRAP) $(PACKED_THCRAP_DIR)/config/games.js
190193

191194
# thcrap_update.dll needs to exist for patches to be downloaded.
192195
# After that, we disable it for distribution.
193-
$(PACKED_THCRAP_DIR)/bin/thcrap_update_nope.dll: $(PROOFS_OF_PATCHES)
196+
$(BUILD_THCRAP_DIR)/bin/thcrap_update_nope.dll: $(PROOFS_OF_PATCHES)
194197
@# The check for existence is in case something somehow causes this to be spuriously run again
195198
@# after thcrap_update.dll has already been moved.
196199
@# We don't list thcrap_update.dll as a dependency because, without a recipe, make would treat
197200
@# it like a phony target and constantly rerun this rule.
198-
[ -e "$@" ] || mv $(PACKED_THCRAP_DIR)/bin/thcrap_update.dll $@
201+
[ -e "$@" ] || mv $(BUILD_THCRAP_DIR)/bin/thcrap_update.dll $@
199202
touch $@
200203

201-
$(PACKED_THCRAP_DIR)/config/%.js: source/dist-files/%.js $(PROOF_OF_THCRAP)
204+
$(BUILD_THCRAP_DIR)/config/%.js: source/dist-files/%.js $(PROOF_OF_THCRAP)
202205
mkdir -p $(@D) && cp $< $@
203206

207+
.PHONY: copy-thcrap-to-dist
208+
copy-thcrap-to-dist: $(FILES_REQUIRED_IN_THCRAP)
209+
rm -rf $(PACKED_THCRAP_DIR)
210+
cp -a $(BUILD_THCRAP_DIR) $(PACKED_THCRAP_DIR)
211+
204212
$(DIR_TO_PACK)/LICENSE_ECLPLUS.txt: LICENSE_ECLPLUS.txt
205213
mkdir -p $(@D) && cp $< $@
206214
$(DIR_TO_PACK)/README.md: README.md
@@ -211,7 +219,7 @@ $(DIR_TO_PACK)/README.md: README.md
211219

212220
$(PACKED_LAUNCHER_EXE): $(BUILT_LAUNCHER_EXE)
213221
mkdir -p $(@D) && cp $< $@
214-
$(BUILT_LAUNCHER_EXE) : $(LAUNCHER_SOURCE_FILES) $(PACKED_THCRAP_DIR)/config/games.js | $(ECLPLUS_BUILD_ARTIFACTS)
222+
$(BUILT_LAUNCHER_EXE) : $(LAUNCHER_SOURCE_FILES) $(BUILD_THCRAP_DIR)/config/games.js | $(ECLPLUS_BUILD_ARTIFACTS)
215223
@echo >&2 '=============================================='
216224
@echo >&2 '== NOT FOUND:' $@
217225
@echo >&2 '=='
@@ -245,5 +253,6 @@ check-no-game-files:
245253
# .PHONY targets with echoed output are included here too so that repeated runs to make
246254
# don't repeatedly produce interleaved output.
247255
$(BUILT_LAUNCHER_EXE): | $(ECLPLUS_BUILD_ARTIFACTS) $(PROOFS_OF_PATCHES)
256+
copy-thcrap-to-dist: | $(BUILT_LAUNCHER_EXE)
248257
copy-dist-patch-files: | $(BUILT_LAUNCHER_EXE)
249-
check-no-game-files: | copy-dist-patch-files pack-source-archive
258+
check-no-game-files: | copy-dist-patch-files pack-source-archive copy-thcrap-to-dist

0 commit comments

Comments
 (0)