Proton/Makefile

43 lines
1.5 KiB
Makefile

# "Quick start" Makefile targets:
# install - install Proton into current user's Steam installation
# deploy - build deployment files into tagged directory
#
# Development targts:
# vagrant - start Vagrant VM
# proton - build Proton
# module - build a single Wine module and copy into the shared directory.
# note: this is a development loop target. use it only after building all of wine with one of the other targets
# specify module variable: make module=kernel32 module
STEAM_DIR := $(HOME)/.steam/root
DEPLOY_DIR := $(shell git describe --tags --always)
all: proton
.PHONY: vagrant proton install proton_build deploy
vagrant:
vagrant up
vagrant rsync
proton: vagrant
vagrant ssh -c "make -C build/ dist"
echo "Proton built in VM. Use 'install' or 'deploy' targets to retrieve the build."
install: vagrant
vagrant ssh -c "make -C build/ STEAM_DIR=/vagrant/ install"
cp -R vagrant_share/compatibilitytools.d/ $(STEAM_DIR)
echo "Proton installed to your local Steam installation"
deploy: vagrant
vagrant ssh -c "make -C build/ deploy"
mkdir -p vagrant_share/$(DEPLOY_DIR)
vagrant ssh -c "cp -a build/deploy/* /vagrant/$(DEPLOY_DIR)"
echo "Proton deployed to vagrant_share/$(DEPLOY_DIR)"
module: vagrant
vagrant ssh -c "make -C build/ module=$(module) module"
mkdir -p vagrant_share/$(module)/lib{,64}/wine/
vagrant ssh -c "cp -a build/obj-wine32/dlls/$(module)/$(module)*.so /vagrant/$(module)/lib/wine/"
vagrant ssh -c "cp -a build/obj-wine64/dlls/$(module)/$(module)*.so /vagrant/$(module)/lib64/wine/"