104 lines
2.7 KiB
Makefile
104 lines
2.7 KiB
Makefile
#!/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 = .
|
|
DLLS = wineasio.dll
|
|
|
|
### Tools
|
|
|
|
CC = gcc
|
|
WINECC = winegcc
|
|
|
|
### Common settings
|
|
|
|
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)
|
|
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 = $(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 +=
|
|
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_LDFLAGS = -shared \
|
|
-m$(M) \
|
|
-mnocygwin \
|
|
$(wineasio_dll_MODULE:%=%.spec) \
|
|
-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$(M) \
|
|
-L/opt/wine-staging/lib$(M)/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=build$(M)/%.c.o)
|
|
|
|
### Global source lists
|
|
|
|
C_SRCS = $(wineasio_dll_C_SRCS)
|
|
|
|
### Generic targets
|
|
|
|
all: rtaudio/include/asio.h $(DLLS:%=build$(M)/%.so)
|
|
|
|
### Build rules
|
|
|
|
.PHONY: all
|
|
|
|
# Implicit rules
|
|
|
|
DEFINCL = $(INCLUDE_PATH) $(DEFINES) $(OPTIONS)
|
|
|
|
build$(M)/%.c.o: %.c
|
|
@$(shell mkdir -p build$(M))
|
|
$(CC) -c $(DEFINCL) $(CFLAGS) $(CEXTRA) -o $@ $<
|
|
|
|
### Target specific build rules
|
|
DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH)
|
|
|
|
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%)
|