ASIO to JACK driver for WINE
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
3.1KB

  1. ### Generated by Winemaker
  2. PREFIX = /usr
  3. SRCDIR = .
  4. SUBDIRS =
  5. DLLS = wineasio.dll
  6. EXES =
  7. ### Common settings
  8. CEXTRA = -m32 -D_REENTRANT -fPIC -Wall -pipe
  9. CEXTRA += -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith
  10. CEXTRA += -Werror=implicit-function-declaration
  11. CEXTRA += $(shell pkg-config --cflags jack)
  12. RCEXTRA =
  13. INCLUDE_PATH = -I. -Irtaudio/include
  14. INCLUDE_PATH += -I$(PREFIX)/include/wine
  15. INCLUDE_PATH += -I$(PREFIX)/include/wine/windows
  16. INCLUDE_PATH += -I$(PREFIX)/include/wine-development
  17. INCLUDE_PATH += -I$(PREFIX)/include/wine-development/wine/windows
  18. DLL_PATH =
  19. LIBRARY_PATH =
  20. LIBRARIES = -ljack
  21. ifeq ($(DEBUG),true)
  22. CEXTRA += -O0 -DDEBUG -g -D__WINESRC__
  23. LIBRARIES +=
  24. else
  25. CEXTRA += -O2 -DNDEBUG -fvisibility=hidden
  26. endif
  27. ### wineasio.dll sources and settings
  28. wineasio_dll_MODULE = wineasio.dll
  29. wineasio_dll_C_SRCS = asio.c \
  30. main.c \
  31. regsvr.c
  32. wineasio_dll_RC_SRCS =
  33. wineasio_dll_LDFLAGS = -shared \
  34. -m32 \
  35. -mnocygwin \
  36. $(wineasio_dll_MODULE:%=%.spec) \
  37. -L/usr/lib32/wine \
  38. -L/usr/lib/i386-linux-gnu/wine \
  39. -L/usr/lib/i386-linux-gnu/wine-development \
  40. -L/opt/wine-staging/lib \
  41. -L/opt/wine-staging/lib/wine
  42. wineasio_dll_DLL_PATH =
  43. wineasio_dll_DLLS = odbc32 \
  44. ole32 \
  45. winmm
  46. wineasio_dll_LIBRARY_PATH=
  47. wineasio_dll_LIBRARIES= uuid
  48. wineasio_dll_OBJS = $(wineasio_dll_C_SRCS:.c=.o) \
  49. $(wineasio_dll_RC_SRCS:.rc=.res)
  50. ### Global source lists
  51. C_SRCS = $(wineasio_dll_C_SRCS)
  52. RC_SRCS = $(wineasio_dll_RC_SRCS)
  53. ### Tools
  54. CC = gcc
  55. WINECC = winegcc
  56. RC = wrc
  57. ### Generic targets
  58. all: rtaudio/include/asio.h $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%.so)
  59. ### Build rules
  60. .PHONY: all clean dummy
  61. $(SUBDIRS): dummy
  62. @cd $@ && $(MAKE)
  63. # Implicit rules
  64. .SUFFIXES: .cpp .rc .res
  65. DEFINCL = $(INCLUDE_PATH) $(DEFINES) $(OPTIONS)
  66. .c.o:
  67. $(CC) -c $(DEFINCL) $(CFLAGS) $(CEXTRA) -o $@ $<
  68. .rc.res:
  69. $(RC) $(RCFLAGS) $(RCEXTRA) $(DEFINCL) -fo$@ $<
  70. # Rules for cleaning
  71. CLEAN_FILES = y.tab.c y.tab.h lex.yy.c core *.orig *.rej \
  72. \\\#*\\\# *~ *% .\\\#*
  73. clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  74. $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(C_SRCS:.c=.o)
  75. $(RM) $(DLLS:%=%.so) $(EXES:%=%.so) $(EXES:%.exe=%)
  76. $(SUBDIRS:%=%/__clean__): dummy
  77. cd `dirname $@` && $(MAKE) clean
  78. $(EXTRASUBDIRS:%=%/__clean__): dummy
  79. -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  80. distclean:: clean
  81. $(RM) asio.h
  82. ### Target specific build rules
  83. DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH)
  84. $(wineasio_dll_MODULE).so: $(wineasio_dll_OBJS)
  85. $(WINECC) $(wineasio_dll_LDFLAGS) -o $@ $(wineasio_dll_OBJS) $(wineasio_dll_LIBRARY_PATH) $(DEFLIB) $(wineasio_dll_DLLS:%=-l%) $(wineasio_dll_LIBRARIES:%=-l%)
  86. install:
  87. if [ -d $(PREFIX)/lib32/wine ]; then cp wineasio.dll.so $(DESTDIR)$(PREFIX)/lib32/wine; else cp wineasio.dll.so $(DESTDIR)$(PREFIX)/lib/wine; fi