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.

105 lines
2.5KB

  1. #!/usr/bin/make -f
  2. # Makefile for WineASIO #
  3. # --------------------- #
  4. # Created by falkTX
  5. # Initially generated by winemaker
  6. #
  7. ifeq ($(ARCH),)
  8. $(error incorrect use of Makefile, ARCH var is missing)
  9. endif
  10. ifeq ($(M),)
  11. $(error incorrect use of Makefile, M var is missing)
  12. endif
  13. wineasio_dll_MODULE = wineasio$(M).dll
  14. PREFIX = /usr
  15. DLLS = $(wineasio_dll_MODULE) $(wineasio_dll_MODULE).so
  16. ### Tools
  17. CC = gcc
  18. WINEBUILD = winebuild
  19. WINECC = winegcc
  20. ### Common settings
  21. CEXTRA = -m$(M) -D_REENTRANT -fPIC -Wall -pipe
  22. CEXTRA += -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith
  23. CEXTRA += -Werror=implicit-function-declaration
  24. RCEXTRA =
  25. INCLUDE_PATH = -I.
  26. ifeq ($(DEBUG),true)
  27. CEXTRA += -O0 -DDEBUG -g -D__WINESRC__
  28. else
  29. CEXTRA += -O2 -DNDEBUG -fvisibility=hidden
  30. endif
  31. ifneq ($(WINEBUILD_INCLUDEDIR),)
  32. INCLUDE_PATH += -I$(WINEBUILD_INCLUDEDIR)
  33. else
  34. INCLUDE_PATH += \
  35. -I$(PREFIX)/include/wine \
  36. -I$(PREFIX)/include/wine/windows \
  37. -I$(PREFIX)/include/wine-development \
  38. -I$(PREFIX)/include/wine-development/wine/windows \
  39. -I/opt/wine-stable/include \
  40. -I/opt/wine-stable/include/wine/windows \
  41. -I/opt/wine-staging/include \
  42. -I/opt/wine-staging/include/wine/windows
  43. endif
  44. wineasio_dll_C_SRCS = asio.c \
  45. jackbridge.c \
  46. main.c \
  47. regsvr.c
  48. wineasio_dll_LDFLAGS = -shared \
  49. -m$(M) \
  50. wineasio.dll.spec
  51. ifneq ($(WINEBUILD_LIBDIR),)
  52. wineasio_dll_LDFLAGS += -L$(WINEBUILD_LIBDIR)
  53. else
  54. wineasio_dll_LDFLAGS += \
  55. -L/usr/lib$(M)/wine \
  56. -L/usr/lib/wine \
  57. -L/usr/lib/$(ARCH)-linux-gnu/wine \
  58. -L/usr/lib/$(ARCH)-linux-gnu/wine-development \
  59. -L/opt/wine-stable/lib \
  60. -L/opt/wine-stable/lib/wine \
  61. -L/opt/wine-stable/lib$(M) \
  62. -L/opt/wine-stable/lib$(M)/wine \
  63. -L/opt/wine-staging/lib \
  64. -L/opt/wine-staging/lib/wine \
  65. -L/opt/wine-staging/lib$(M) \
  66. -L/opt/wine-staging/lib$(M)/wine
  67. endif
  68. wineasio_dll_OBJS = $(wineasio_dll_C_SRCS:%.c=build$(M)/%.c.o)
  69. ### Generic targets
  70. all:
  71. build: $(DLLS:%=build$(M)/%)
  72. ### Build rules
  73. .PHONY: all
  74. # Implicit rules
  75. build$(M)/%.c.o: %.c
  76. @$(shell mkdir -p build$(M))
  77. $(CC) -c $(INCLUDE_PATH) $(CFLAGS) $(CEXTRA) -o $@ $<
  78. ### Target specific build rules
  79. build$(M)/$(wineasio_dll_MODULE): $(wineasio_dll_OBJS)
  80. $(WINEBUILD) -m$(M) --dll --fake-module -E wineasio.dll.spec $^ -o $@
  81. build$(M)/$(wineasio_dll_MODULE).so: $(wineasio_dll_OBJS)
  82. $(WINECC) $^ $(wineasio_dll_LDFLAGS) \
  83. -lodbc32 -lole32 -luuid -lwinmm -o $@