From 8f7f909dd4ece0bbf1f6aa16fdf4a13d37242716 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Tue, 5 Feb 2019 10:04:53 -0600 Subject: [PATCH] Makefile: Add module target for building single modules --- Makefile | 17 ++++++++++++++--- build/makefile_base.mak | 11 +++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6d4aeea1..3f8331ef 100644 --- a/Makefile +++ b/Makefile @@ -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/" diff --git a/build/makefile_base.mak b/build/makefile_base.mak index 690a0c06..186d01d0 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -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