build/makefile_base.mak: Ensure the install/dist steps run last

Such that 'make all deploy' or 'make all deploy install' work as
expected

Deploy/install don't imply all however - if iterating you may wish to
do e.g. 'make dxvk deploy' without waiting for a no-op wine build.

Ideally we'd track OUT files for everything, however, so a 'make
deploy' could at least build missing targets, if not dirty them.

The dist target would seem to need this treatment at first glance, but
it is actually doing prepare steps that only depend on wine being
ready
This commit is contained in:
John Schoenick 2018-10-17 16:52:53 -07:00
parent c3053292b5
commit 4adf44a16f

View file

@ -308,12 +308,12 @@ dist: $(DIST_TARGETS) | $(WINE_OUT) $(filter $(MAKECMDGOALS),wine64 wine32 wine)
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(WINE_OUT_BIN) wineboot && \
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(WINE_OUT_SERVER) -w
deploy: dist
deploy: dist | $(filter-out dist deploy install,$(MAKECMDGOALS))
mkdir -p $(DEPLOY_DIR) && \
cp -a $(DEPLOY_COPY_TARGETS) $(DEPLOY_DIR) && \
tar -C $(DST_DIR) -c . | gzip -c -1 > $(DEPLOY_DIR)/proton_dist.tar.gz
install: dist
install: dist | $(filter-out dist deploy install,$(MAKECMDGOALS))
if [ ! -d $(STEAM_DIR) ]; then echo >&2 "!! "$(STEAM_DIR)" does not exist, cannot install"; return 1; fi
mkdir -p $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
cp -a $(DST_BASE)/* $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)