Signed-off-by: falkTX <falktx@falktx.com>tags/v1.1.0
@@ -4,7 +4,7 @@ | |||||
# Created by falkTX | # Created by falkTX | ||||
# | # | ||||
VERSION = 1.0.0 | |||||
VERSION = 1.1.0 | |||||
all: | all: | ||||
@echo "error: you must pass '32' or '64' as an argument to this Makefile in order to build WineASIO" | @echo "error: you must pass '32' or '64' as an argument to this Makefile in order to build WineASIO" | ||||
@@ -12,14 +12,17 @@ ifeq ($(M),) | |||||
$(error incorrect use of Makefile, M var is missing) | $(error incorrect use of Makefile, M var is missing) | ||||
endif | endif | ||||
wineasio_dll_MODULE = wineasio.dll | |||||
PREFIX = /usr | PREFIX = /usr | ||||
SRCDIR = . | SRCDIR = . | ||||
DLLS = wineasio.dll | |||||
DLLS = $(wineasio_dll_MODULE) $(wineasio_dll_MODULE).so | |||||
### Tools | ### Tools | ||||
CC = gcc | |||||
WINECC = winegcc | |||||
CC = gcc | |||||
WINEBUILD = winebuild | |||||
WINECC = winegcc | |||||
### Common settings | ### Common settings | ||||
@@ -50,9 +53,8 @@ else | |||||
CEXTRA += -O2 -DNDEBUG -fvisibility=hidden | CEXTRA += -O2 -DNDEBUG -fvisibility=hidden | ||||
endif | endif | ||||
### wineasio.dll sources and settings | |||||
### wineasio.dll settings | |||||
wineasio_dll_MODULE = wineasio.dll | |||||
wineasio_dll_C_SRCS = asio.c \ | wineasio_dll_C_SRCS = asio.c \ | ||||
main.c \ | main.c \ | ||||
regsvr.c | regsvr.c | ||||
@@ -72,12 +74,11 @@ wineasio_dll_LDFLAGS = -shared \ | |||||
-L/opt/wine-staging/lib/wine \ | -L/opt/wine-staging/lib/wine \ | ||||
-L/opt/wine-staging/lib$(M) \ | -L/opt/wine-staging/lib$(M) \ | ||||
-L/opt/wine-staging/lib$(M)/wine | -L/opt/wine-staging/lib$(M)/wine | ||||
wineasio_dll_DLL_PATH = | |||||
wineasio_dll_DLLS = odbc32 \ | wineasio_dll_DLLS = odbc32 \ | ||||
ole32 \ | ole32 \ | ||||
winmm | winmm | ||||
wineasio_dll_LIBRARY_PATH= | |||||
wineasio_dll_LIBRARIES= uuid | |||||
wineasio_dll_LIBRARY_PATH = | |||||
wineasio_dll_LIBRARIES = uuid | |||||
wineasio_dll_OBJS = $(wineasio_dll_C_SRCS:%.c=build$(M)/%.c.o) | wineasio_dll_OBJS = $(wineasio_dll_C_SRCS:%.c=build$(M)/%.c.o) | ||||
@@ -88,7 +89,7 @@ C_SRCS = $(wineasio_dll_C_SRCS) | |||||
### Generic targets | ### Generic targets | ||||
all: | all: | ||||
build: rtaudio/include/asio.h $(DLLS:%=build$(M)/%.so) | |||||
build: rtaudio/include/asio.h $(DLLS:%=build$(M)/%) | |||||
### Build rules | ### Build rules | ||||
@@ -105,5 +106,9 @@ build$(M)/%.c.o: %.c | |||||
### Target specific build rules | ### Target specific build rules | ||||
DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH) | DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH) | ||||
build$(M)/$(wineasio_dll_MODULE): $(wineasio_dll_OBJS) | |||||
$(WINEBUILD) --dll --fake-module -E $(wineasio_dll_MODULE).spec $^ > $@ | |||||
build$(M)/$(wineasio_dll_MODULE).so: $(wineasio_dll_OBJS) | build$(M)/$(wineasio_dll_MODULE).so: $(wineasio_dll_OBJS) | ||||
$(WINECC) $(wineasio_dll_LDFLAGS) -o $@ $(wineasio_dll_OBJS) $(wineasio_dll_LIBRARY_PATH) $(DEFLIB) $(wineasio_dll_DLLS:%=-l%) $(wineasio_dll_LIBRARIES:%=-l%) | |||||
$(WINECC) $^ $(wineasio_dll_LDFLAGS) $(wineasio_dll_LIBRARY_PATH) $(DEFLIB) \ | |||||
$(wineasio_dll_DLLS:%=-l%) $(wineasio_dll_LIBRARIES:%=-l%) -o $@ |
@@ -18,22 +18,56 @@ Do the following to build for 32-bit Wine. | |||||
make 32 | make 32 | ||||
``` | ``` | ||||
To install (substitute with the path to the 32-bit wine libs for your distro). | |||||
Do the following to build for 64-bit Wine. | |||||
```sh | ```sh | ||||
sudo cp build32/wineasio.dll.so /usr/lib/i386-linux-gnu/wine/wineasio.dll.so | |||||
make 64 | |||||
``` | ``` | ||||
Do the following to build for 64-bit Wine. | |||||
#### LEGACY WINE | |||||
To install on 32bit wine <= 6.5 (substitute with the path to the 32-bit wine libs for your distro). | |||||
```sh | ```sh | ||||
make 64 | |||||
sudo cp build32/wineasio.dll.so /usr/lib/i386-linux-gnu/wine/wineasio.dll.so | |||||
``` | |||||
To install on 64bit wine <= 6.5 (substitute with the path to the 64-bit wine libs for your distro). | |||||
```sh | |||||
sudo cp build64/wineasio.dll.so /usr/lib/x86_64-linux-gnu/wine/wineasio.dll.so | |||||
``` | |||||
Finally the dll must be registered in the wineprefix. | |||||
For both 32 and 64-bit wine do: | |||||
```sh | |||||
regsvr32 wineasio.dll | |||||
``` | |||||
On a 64-bit system with wine supporting both 32 and 64-bit applications, | |||||
regsrv32 will register the 32-bit driver in a 64-bit prefix, | |||||
use the following command to register the 64-bit driver in a 64-bit wineprefix: | |||||
```sh | |||||
wine64 regsvr32 wineasio.dll | |||||
``` | |||||
#### WINE > 6.5 | |||||
To install on 32bit wine > 6.5 (substitute with the path to the 32-bit wine libs for your distro). | |||||
```sh | |||||
sudo cp build32/wineasio.dll /usr/lib/i386-linux-gnu/wine/i386-windows/wineasio.dll | |||||
sudo cp build32/wineasio.dll.so /usr/lib/i386-linux-gnu/wine/i386-unix/wineasio.dll.so | |||||
``` | ``` | ||||
To install (substitute with the path to the 64-bit wine libs for your distro). | |||||
To install on 64bit wine > 6.5 (substitute with the path to the 64-bit wine libs for your distro). | |||||
```sh | ```sh | ||||
sudo cp build64/wineasio.dll.so /usr/lib/x86_64-linux-gnu/wine/wineasio.dll.so | |||||
sudo cp build64/wineasio.dll /usr/lib/x86_64-linux-gnu/wine/x86_64-windows/wineasio.dll | |||||
sudo cp build64/wineasio.dll.so /usr/lib/x86_64-linux-gnu/wine/x86_64-unix/wineasio.dll.so | |||||
``` | ``` | ||||
Finally the dll must be registered in the wineprefix. | Finally the dll must be registered in the wineprefix. | ||||
@@ -52,6 +86,8 @@ use the following command to register the 64-bit driver in a 64-bit wineprefix: | |||||
wine64 regsvr32 wineasio.dll | wine64 regsvr32 wineasio.dll | ||||
``` | ``` | ||||
#### CUSTOM WINEPREFIX | |||||
regsvr32 registers the ASIO COM object in the default prefix `~/.wine`. | regsvr32 registers the ASIO COM object in the default prefix `~/.wine`. | ||||
To use another prefix specify it explicitly, like: | To use another prefix specify it explicitly, like: | ||||
@@ -110,6 +146,9 @@ that overrides the JACK client name derived from the program name. | |||||
### CHANGE LOG | ### CHANGE LOG | ||||
#### 1.1.0 | |||||
* 24-NOV-2021: Fix compatibility with Wine > 6.5 | |||||
#### 1.0.0 | #### 1.0.0 | ||||
* 14-JUL-2020: Add packaging script | * 14-JUL-2020: Add packaging script | ||||
* 12-MAR-2020: Fix control panel startup | * 12-MAR-2020: Fix control panel startup | ||||