Signed-off-by: falkTX <falktx@falktx.com>tags/v1.0.0
@@ -1,4 +1,6 @@ | |||
*~ | |||
*.o | |||
*.so | |||
__pycache__ | |||
build32/ | |||
build64/ | |||
__pycache__/ |
@@ -1,122 +1,32 @@ | |||
### Generated by Winemaker | |||
#!/usr/bin/make -f | |||
# Makefile for WineASIO # | |||
# --------------------- # | |||
# Created by falkTX | |||
# | |||
PREFIX = /usr | |||
SRCDIR = . | |||
SUBDIRS = | |||
DLLS = wineasio.dll | |||
EXES = | |||
all: | |||
# $(info usage: ${0} 32|64) | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
32: | |||
$(MAKE) ARCH=i386 M=32 | |||
### Common settings | |||
64: | |||
$(MAKE) ARCH=x86_64 M=64 | |||
CEXTRA = -m32 -D_REENTRANT -fPIC -Wall -pipe | |||
CEXTRA += -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith | |||
CEXTRA += -Werror=implicit-function-declaration | |||
CEXTRA += $(shell pkg-config --cflags jack) | |||
RCEXTRA = | |||
INCLUDE_PATH = -I. -Irtaudio/include | |||
INCLUDE_PATH += -I$(PREFIX)/include/wine | |||
INCLUDE_PATH += -I$(PREFIX)/include/wine/windows | |||
INCLUDE_PATH += -I$(PREFIX)/include/wine-development | |||
INCLUDE_PATH += -I$(PREFIX)/include/wine-development/wine/windows | |||
DLL_PATH = | |||
LIBRARY_PATH = | |||
LIBRARIES = -ljack | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
ifeq ($(DEBUG),true) | |||
CEXTRA += -O0 -DDEBUG -g -D__WINESRC__ | |||
LIBRARIES += | |||
else | |||
CEXTRA += -O2 -DNDEBUG -fvisibility=hidden | |||
endif | |||
### wineasio.dll sources and settings | |||
wineasio_dll_MODULE = wineasio.dll | |||
wineasio_dll_C_SRCS = asio.c \ | |||
main.c \ | |||
regsvr.c | |||
wineasio_dll_RC_SRCS = | |||
wineasio_dll_LDFLAGS = -shared \ | |||
-m32 \ | |||
-mnocygwin \ | |||
$(wineasio_dll_MODULE:%=%.spec) \ | |||
-L/usr/lib32/wine \ | |||
-L/usr/lib/i386-linux-gnu/wine \ | |||
-L/usr/lib/i386-linux-gnu/wine-development \ | |||
-L/opt/wine-staging/lib \ | |||
-L/opt/wine-staging/lib/wine | |||
wineasio_dll_DLL_PATH = | |||
wineasio_dll_DLLS = odbc32 \ | |||
ole32 \ | |||
winmm | |||
wineasio_dll_LIBRARY_PATH= | |||
wineasio_dll_LIBRARIES= uuid | |||
wineasio_dll_OBJS = $(wineasio_dll_C_SRCS:.c=.o) \ | |||
$(wineasio_dll_RC_SRCS:.rc=.res) | |||
### Global source lists | |||
C_SRCS = $(wineasio_dll_C_SRCS) | |||
RC_SRCS = $(wineasio_dll_RC_SRCS) | |||
### Tools | |||
CC = gcc | |||
WINECC = winegcc | |||
RC = wrc | |||
### Generic targets | |||
all: rtaudio/include/asio.h $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%.so) | |||
### Build rules | |||
clean:: | |||
rm -f *.o *.so | |||
rm -rf build32 build64 | |||
.PHONY: all clean dummy | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
$(SUBDIRS): dummy | |||
@cd $@ && $(MAKE) | |||
# Implicit rules | |||
.SUFFIXES: .cpp .rc .res | |||
DEFINCL = $(INCLUDE_PATH) $(DEFINES) $(OPTIONS) | |||
.c.o: | |||
$(CC) -c $(DEFINCL) $(CFLAGS) $(CEXTRA) -o $@ $< | |||
.rc.res: | |||
$(RC) $(RCFLAGS) $(RCEXTRA) $(DEFINCL) -fo$@ $< | |||
# Rules for cleaning | |||
CLEAN_FILES = y.tab.c y.tab.h lex.yy.c core *.orig *.rej \ | |||
\\\#*\\\# *~ *% .\\\#* | |||
clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__) | |||
$(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(C_SRCS:.c=.o) | |||
$(RM) $(DLLS:%=%.so) $(EXES:%=%.so) $(EXES:%.exe=%) | |||
$(SUBDIRS:%=%/__clean__): dummy | |||
cd `dirname $@` && $(MAKE) clean | |||
$(EXTRASUBDIRS:%=%/__clean__): dummy | |||
-cd `dirname $@` && $(RM) $(CLEAN_FILES) | |||
distclean:: clean | |||
$(RM) asio.h | |||
### Target specific build rules | |||
DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH) | |||
$(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%) | |||
ifneq ($(ARCH),) | |||
ifneq ($(M),) | |||
include Makefile.mk | |||
endif | |||
endif | |||
install: | |||
if [ -d $(PREFIX)/lib32/wine ]; then cp wineasio.dll.so $(DESTDIR)$(PREFIX)/lib32/wine; else cp wineasio.dll.so $(DESTDIR)$(PREFIX)/lib/wine; fi | |||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -1,16 +1,29 @@ | |||
### Generated by Winemaker | |||
#!/usr/bin/make -f | |||
# Makefile for WineASIO # | |||
# --------------------- # | |||
# Created by falkTX | |||
# Initially generated by winemaker | |||
# | |||
ifeq ($(ARCH),) | |||
$(error incorrect use of Makefile, ARCH var is missing) | |||
endif | |||
ifeq ($(M),) | |||
$(error incorrect use of Makefile, M var is missing) | |||
endif | |||
PREFIX = /usr | |||
SRCDIR = . | |||
SUBDIRS = | |||
DLLS = wineasio.dll | |||
EXES = | |||
### Tools | |||
CC = gcc | |||
WINECC = winegcc | |||
### Common settings | |||
CEXTRA = -m64 -DNATIVE_INT64 -D_REENTRANT -fPIC -Wall -pipe | |||
CEXTRA = -m$(M) -D_REENTRANT -fPIC -Wall -pipe | |||
CEXTRA += -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith | |||
CEXTRA += -Werror=implicit-function-declaration | |||
CEXTRA += $(shell pkg-config --cflags jack) | |||
@@ -22,8 +35,14 @@ INCLUDE_PATH += -I$(PREFIX)/include/wine-development | |||
INCLUDE_PATH += -I$(PREFIX)/include/wine-development/wine/windows | |||
DLL_PATH = | |||
LIBRARY_PATH = | |||
LIBRARIES = -ljack | |||
LIBRARIES = $(shell pkg-config --libs jack) | |||
# 64bit build needs an extra flag | |||
ifeq ($(M),64) | |||
CEXTRA += -DNATIVE_INT64 | |||
endif | |||
# Debug or Release | |||
ifeq ($(DEBUG),true) | |||
CEXTRA += -O0 -DDEBUG -g -D__WINESRC__ | |||
LIBRARIES += | |||
@@ -37,16 +56,18 @@ wineasio_dll_MODULE = wineasio.dll | |||
wineasio_dll_C_SRCS = asio.c \ | |||
main.c \ | |||
regsvr.c | |||
wineasio_dll_RC_SRCS = | |||
wineasio_dll_LDFLAGS = -shared \ | |||
-m64 \ | |||
-m$(M) \ | |||
-mnocygwin \ | |||
$(wineasio_dll_MODULE:%=%.spec) \ | |||
-L/usr/lib64/wine \ | |||
-L/usr/lib/x86_64-linux-gnu/wine \ | |||
-L/usr/lib/x86_64-linux-gnu/wine-development \ | |||
-L/usr/lib/wine \ | |||
-L/usr/lib$(M)/wine \ | |||
-L/usr/lib/$(ARCH)-linux-gnu/wine \ | |||
-L/usr/lib/$(ARCH)-linux-gnu/wine-development \ | |||
-L/opt/wine-staging/lib \ | |||
-L/opt/wine-staging/lib/wine | |||
-L/opt/wine-staging/lib/wine \ | |||
-L/opt/wine-staging/lib$(M) \ | |||
-L/opt/wine-staging/lib$(M)/wine | |||
wineasio_dll_DLL_PATH = | |||
wineasio_dll_DLLS = odbc32 \ | |||
ole32 \ | |||
@@ -54,69 +75,30 @@ wineasio_dll_DLLS = odbc32 \ | |||
wineasio_dll_LIBRARY_PATH= | |||
wineasio_dll_LIBRARIES= uuid | |||
wineasio_dll_OBJS = $(wineasio_dll_C_SRCS:.c=.o) \ | |||
$(wineasio_dll_RC_SRCS:.rc=.res) | |||
wineasio_dll_OBJS = $(wineasio_dll_C_SRCS:%.c=build$(M)/%.c.o) | |||
### Global source lists | |||
C_SRCS = $(wineasio_dll_C_SRCS) | |||
RC_SRCS = $(wineasio_dll_RC_SRCS) | |||
### Tools | |||
CC = gcc | |||
WINECC = winegcc | |||
RC = wrc | |||
### Generic targets | |||
all: rtaudio/include/asio.h $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%.so) | |||
all: rtaudio/include/asio.h $(DLLS:%=build$(M)/%.so) | |||
### Build rules | |||
.PHONY: all clean dummy | |||
$(SUBDIRS): dummy | |||
@cd $@ && $(MAKE) | |||
.PHONY: all | |||
# Implicit rules | |||
.SUFFIXES: .cpp .rc .res | |||
DEFINCL = $(INCLUDE_PATH) $(DEFINES) $(OPTIONS) | |||
.c.o: | |||
build$(M)/%.c.o: %.c | |||
@$(shell mkdir -p build$(M)) | |||
$(CC) -c $(DEFINCL) $(CFLAGS) $(CEXTRA) -o $@ $< | |||
.rc.res: | |||
$(RC) $(RCFLAGS) $(RCEXTRA) $(DEFINCL) -fo$@ $< | |||
# Rules for cleaning | |||
CLEAN_FILES = y.tab.c y.tab.h lex.yy.c core *.orig *.rej \ | |||
\\\#*\\\# *~ *% .\\\#* | |||
clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__) | |||
$(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(C_SRCS:.c=.o) | |||
$(RM) $(DLLS:%=%.so) $(EXES:%=%.so) $(EXES:%.exe=%) | |||
$(SUBDIRS:%=%/__clean__): dummy | |||
cd `dirname $@` && $(MAKE) clean | |||
$(EXTRASUBDIRS:%=%/__clean__): dummy | |||
-cd `dirname $@` && $(RM) $(CLEAN_FILES) | |||
distclean:: clean | |||
$(RM) asio.h | |||
### Target specific build rules | |||
DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH) | |||
$(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%) | |||
install: | |||
if [ -d $(PREFIX)/lib/wine ]; then cp wineasio.dll.so $(DESTDIR)$(PREFIX)/lib/wine; else cp wineasio.dll.so $(DESTDIR)$(PREFIX)/lib/wine; fi |