Audio plugin host https://kx.studio/carla
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.

140 lines
4.2KB

  1. #!/usr/bin/make -f
  2. # Makefile for jackbridge #
  3. # ----------------------- #
  4. # Created by falkTX
  5. #
  6. include ../../Makefile.mk
  7. # --------------------------------------------------------------
  8. WINECXX ?= wineg++
  9. BUILD_CXX_FLAGS += $(JACKBRIDGE_FLAGS) -I. -I../../includes -I../../utils
  10. LINK_FLAGS += $(JACKBRIDGE_LIBS)
  11. WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine
  12. WINE_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64/wine -L/usr/lib/x86_64-linux-gnu/wine
  13. WINE_LINK_FLAGS = $(LINK_FLAGS) -ldl -lrt -lpthread
  14. # --------------------------------------------------------------
  15. OBJS = JackBridge1.cpp.o JackBridge2.cpp.o
  16. OBJS_posix32 = JackBridge1.cpp.posix32.o JackBridge2.cpp.posix32.o
  17. OBJS_posix64 = JackBridge1.cpp.posix64.o JackBridge2.cpp.posix64.o
  18. OBJS_posix32e = JackBridge1.cpp.posix32e.o JackBridge2.cpp.posix32e.o
  19. OBJS_posix64e = JackBridge1.cpp.posix64e.o JackBridge2.cpp.posix64e.o
  20. OBJS_win32 = JackBridge1.cpp.win32.o JackBridge2.cpp.win32.o
  21. OBJS_win64 = JackBridge1.cpp.win64.o JackBridge2.cpp.win64.o
  22. OBJS_win64e = JackBridge1.cpp.win64e.o JackBridge2.cpp.win64e.o
  23. OBJS_win32e = JackBridge1.cpp.win32e.o JackBridge2.cpp.win32e.o
  24. OBJS_wine32 = JackBridge1.cpp.wine32.o JackBridge2.cpp.wine32.o
  25. OBJS_wine64 = JackBridge1.cpp.wine64.o JackBridge2.cpp.wine64.o
  26. # --------------------------------------------------------------
  27. all: ../jackbridge.a
  28. posix32: ../jackbridge.posix32.a
  29. posix64: ../jackbridge.posix64.a
  30. posix32e: ../jackbridge-posix32e.so
  31. posix64e: ../jackbridge-posix64e.so
  32. win32: ../jackbridge.win32.a
  33. win64: ../jackbridge.win64.a
  34. win32e: ../jackbridge-win32.dll
  35. win64e: ../jackbridge-win64.dll
  36. wine32: ../jackbridge-win32.dll.so
  37. wine64: ../jackbridge-win64.dll.so
  38. # --------------------------------------------------------------
  39. clean:
  40. $(RM) *.o ../jackbridge*.a
  41. debug:
  42. $(MAKE) DEBUG=true
  43. # --------------------------------------------------------------
  44. ../jackbridge.a: $(OBJS)
  45. $(RM) $@
  46. $(AR) crs $@ $^
  47. ../jackbridge.posix32.a: $(OBJS_posix32)
  48. $(RM) $@
  49. $(AR) crs $@ $^
  50. ../jackbridge.posix64.a: $(OBJS_posix64)
  51. $(RM) $@
  52. $(AR) crs $@ $^
  53. ../jackbridge.win32.a: $(OBJS_win32)
  54. $(RM) $@
  55. $(AR) crs $@ $^
  56. ../jackbridge.win64.a: $(OBJS_win64)
  57. $(RM) $@
  58. $(AR) crs $@ $^
  59. # --------------------------------------------------------------
  60. ../jackbridge-posix32e.so: $(OBJS_posix32e)
  61. $(CXX) $^ -shared $(LINK_FLAGS) $(32BIT_FLAGS) -o $@
  62. ../jackbridge-posix64e.so: $(OBJS_posix64e)
  63. $(CXX) $^ -shared $(LINK_FLAGS) $(64BIT_FLAGS) -o $@
  64. # --------------------------------------------------------------
  65. ../jackbridge-win32.dll: $(OBJS_win32e)
  66. $(CXX) $^ -shared $(LINK_FLAGS) -Wl,--output-def,$@.def,--out-implib,$@.a -o $@
  67. ../jackbridge-win64.dll: $(OBJS_win64e)
  68. $(CXX) $^ -shared $(LINK_FLAGS) -Wl,--output-def,$@.def,--out-implib,$@.a -o $@
  69. ../jackbridge-win32.dll.so: $(OBJS_wine32) ../jackbridge-win32.dll.def
  70. $(WINECXX) $^ -shared $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o $@
  71. ../jackbridge-win64.dll.so: $(OBJS_wine64) ../jackbridge-win64.dll.def
  72. $(WINECXX) $^ -shared $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o $@
  73. # --------------------------------------------------------------
  74. %.posix32.o: %
  75. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  76. %.posix64.o: %
  77. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  78. %.posix32e.o: %
  79. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -DJACKBRIDGE_EXPORT -c -o $@
  80. %.posix64e.o: %
  81. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -DJACKBRIDGE_EXPORT -c -o $@
  82. %.win32.o: %
  83. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  84. %.win64.o: %
  85. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  86. %.win32e.o: %
  87. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -DJACKBRIDGE_DUMMY=1 -DJACKBRIDGE_EXPORT -w -c -o $@
  88. %.win64e.o: %
  89. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -DJACKBRIDGE_DUMMY=1 -DJACKBRIDGE_EXPORT -w -c -o $@
  90. %.wine32.o: %
  91. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -DJACKBRIDGE_EXPORT -c -o $@
  92. %.wine64.o: %
  93. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -DJACKBRIDGE_EXPORT -c -o $@
  94. # --------------------------------------------------------------
  95. JackBridge%.cpp.o: JackBridge%.cpp JackBridge.hpp
  96. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  97. # --------------------------------------------------------------