diff --git a/Makefile b/Makefile index 3f8331ef..b5b15892 100644 --- a/Makefile +++ b/Makefile @@ -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/" diff --git a/README.md b/README.md index 45bc0303..382322e7 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/vagrant-user-setup.sh b/vagrant-user-setup.sh index c3a81c65..feafd3b2 100755 --- a/vagrant-user-setup.sh +++ b/vagrant-user-setup.sh @@ -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