Makefile: Add module target for building single modules

This commit is contained in:
Andrew Eikum 2019-02-05 10:04:53 -06:00
parent 0ecb100046
commit 8f7f909dd4
2 changed files with 25 additions and 3 deletions

View file

@ -1,8 +1,13 @@
# Makefile targets:
# vagrant - start Vagrant VM
# proton - build Proton
# "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)
@ -29,3 +34,9 @@ deploy: vagrant
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/"

View file

@ -364,6 +364,17 @@ install: dist | $(filter-out dist deploy install,$(MAKECMDGOALS))
@echo "Installed Proton to "$(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
@echo "You may need to restart Steam to select this tool"
.PHONY: module32 module64 module
module32: SHELL = $(CONTAINER_SHELL32)
module32:
cd $(WINE_OBJ32)/dlls/$(module) && make
module64: SHELL = $(CONTAINER_SHELL64)
module64:
cd $(WINE_OBJ64)/dlls/$(module) && make
module: module32 module64
##
## ffmpeg