Configure build dir in makefile instead of vagrant init

This commit is contained in:
Andrew Eikum 2019-03-22 08:21:45 -05:00
parent 87bbcc627d
commit e3ea6a2479
3 changed files with 22 additions and 22 deletions

View file

@ -11,31 +11,38 @@
STEAM_DIR := $(HOME)/.steam/root
DEPLOY_DIR := $(shell git describe --tags --always)
CONFIGURE_CMD := ../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime="$$HOME"/steam-runtime/runtime/
all: proton
.PHONY: vagrant proton install proton_build deploy
.PHONY: vagrant clean configure proton install deploy module
vagrant:
vagrant up
vagrant rsync
proton: vagrant
clean: vagrant
vagrant ssh -c "rm -rf build/"
configure: vagrant
vagrant ssh -c 'if [ ! -e build ]; then mkdir build; (cd build && $(CONFIGURE_CMD)); fi'
proton: configure
vagrant ssh -c "make -C build/ dist"
echo "Proton built in VM. Use 'install' or 'deploy' targets to retrieve the build."
install: vagrant
install: configure
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
deploy: configure
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
module: configure
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/"

View file

@ -124,9 +124,10 @@ with:
vagrant ssh
The Vagrantfile is set up to rsync the `proton` directory into the VM on boot,
and it will create a `build` directory in `$HOME` that is ready for you to run
`make`. On the host machine, you can use `vagrant rsync-auto` to have Vagrant
At this point you will need to configure the build directory. See below.
The Vagrantfile is set up to rsync the `proton` directory into the VM on boot.
On the host machine, you can use `vagrant rsync-auto` to have Vagrant
automatically sync changes on your host machine into the build machine. It is
recommended that you make changes on your host machine, and then perform the
build in the VM. Any changes you make in the `proton` directory on the VM may
@ -164,17 +165,16 @@ runtime, as it takes a very long time to set up. To do this, edit the
Configure the build
---
After setting up the build system, it is time to run the configure script which
will generate the Makefile to build your project. The Vagrantfile is set up to
do this automatically for you in a directory called `$HOME/build` within the
VM. If you are configuring manually, run these steps:
will generate the Makefile to build your project. Run these steps. You may of
course use whatever paths you like.
mkdir proton/mybuild/
cd proton/mybuild
../configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/
mkdir build/
cd build
../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/
If you are building without the Steam runtime, then instead use:
../configure.sh --no-steam-runtime
../proton/configure.sh --no-steam-runtime
**Tip**: If you are building without the Steam runtime, you should now run
`make obj-wine64/Makefile obj-wine32/Makefile` and check the files

View file

@ -5,10 +5,3 @@ git clone https://github.com/ValveSoftware/steam-runtime.git
./steam-runtime/setup_docker.sh amd64 --extra-bootstrap=/home/vagrant/proton/steamrt-bootstrap.sh steam-proton-dev
./steam-runtime/setup_docker.sh i386 --extra-bootstrap=/home/vagrant/proton/steamrt-bootstrap.sh steam-proton-dev32
(cd steam-runtime && ./build-runtime.py --output=./runtime/)
#configure proton build
mkdir build
cd build
../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime="$HOME"/steam-runtime/runtime/
#if building without the runtime, use:
#../proton/configure.sh --no-steam-runtime