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 STEAM_DIR := $(HOME)/.steam/root
DEPLOY_DIR := $(shell git describe --tags --always) 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 all: proton
.PHONY: vagrant proton install proton_build deploy .PHONY: vagrant clean configure proton install deploy module
vagrant: vagrant:
vagrant up vagrant up
vagrant rsync 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" vagrant ssh -c "make -C build/ dist"
echo "Proton built in VM. Use 'install' or 'deploy' targets to retrieve the build." 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" vagrant ssh -c "make -C build/ STEAM_DIR=/vagrant/ install"
cp -R vagrant_share/compatibilitytools.d/ $(STEAM_DIR) cp -R vagrant_share/compatibilitytools.d/ $(STEAM_DIR)
echo "Proton installed to your local Steam installation" echo "Proton installed to your local Steam installation"
deploy: vagrant deploy: configure
vagrant ssh -c "make -C build/ deploy" vagrant ssh -c "make -C build/ deploy"
mkdir -p vagrant_share/$(DEPLOY_DIR) mkdir -p vagrant_share/$(DEPLOY_DIR)
vagrant ssh -c "cp -a build/deploy/* /vagrant/$(DEPLOY_DIR)" vagrant ssh -c "cp -a build/deploy/* /vagrant/$(DEPLOY_DIR)"
echo "Proton deployed to vagrant_share/$(DEPLOY_DIR)" echo "Proton deployed to vagrant_share/$(DEPLOY_DIR)"
module: vagrant module: configure
vagrant ssh -c "make -C build/ module=$(module) module" vagrant ssh -c "make -C build/ module=$(module) module"
mkdir -p vagrant_share/$(module)/lib{,64}/wine/ 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-wine32/dlls/$(module)/$(module)*.so /vagrant/$(module)/lib/wine/"

View File

@ -124,9 +124,10 @@ with:
vagrant ssh vagrant ssh
The Vagrantfile is set up to rsync the `proton` directory into the VM on boot, At this point you will need to configure the build directory. See below.
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 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 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 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 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 Configure the build
--- ---
After setting up the build system, it is time to run the configure script which 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 will generate the Makefile to build your project. Run these steps. You may of
do this automatically for you in a directory called `$HOME/build` within the course use whatever paths you like.
VM. If you are configuring manually, run these steps:
mkdir proton/mybuild/ mkdir build/
cd proton/mybuild cd build
../configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/ ../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: 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 **Tip**: If you are building without the Steam runtime, you should now run
`make obj-wine64/Makefile obj-wine32/Makefile` and check the files `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 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 ./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/) (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