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.

146 lines
4.0KB

  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_win32 = JackBridge1.cpp.win32.o JackBridge2.cpp.win32.o
  19. OBJS_win64 = JackBridge1.cpp.win64.o JackBridge2.cpp.win64.o
  20. OBJS_posix32e = JackBridgeExport.cpp.posix32e.o
  21. OBJS_posix64e = JackBridgeExport.cpp.posix64e.o
  22. OBJS_win64e = JackBridgeExport.cpp.win64e.o
  23. OBJS_win32e = JackBridgeExport.cpp.win32e.o
  24. OBJS_wine32 = JackBridge1.cpp.wine32.o JackBridge2.cpp.wine32.o JackBridge3.cpp.wine32.o
  25. OBJS_wine64 = JackBridge1.cpp.wine64.o JackBridge2.cpp.wine64.o JackBridge3.cpp.wine64.o
  26. # --------------------------------------------------------------
  27. all: ../jackbridge.a
  28. posix32: ../jackbridge.posix32.a
  29. posix64: ../jackbridge.posix64.a
  30. posix32e: ../jackbridge.posix32e.a
  31. posix64e: ../jackbridge.posix64e.a
  32. win32: ../jackbridge.win32.a
  33. win64: ../jackbridge.win64.a
  34. win32e: ../jackbridge.win32e.a
  35. win64e: ../jackbridge.win64e.a
  36. wine32: ../jackbridge-wine32.dll.so
  37. wine64: ../jackbridge-wine64.dll.so
  38. # --------------------------------------------------------------
  39. clean:
  40. $(RM) *.o ../jackbridge*.*
  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.a: $(OBJS_posix32e)
  61. $(RM) $@
  62. $(AR) crs $@ $^
  63. ../jackbridge.posix64e.a: $(OBJS_posix64e)
  64. $(RM) $@
  65. $(AR) crs $@ $^
  66. ../jackbridge.win32e.a: $(OBJS_win32e)
  67. $(RM) $@
  68. $(AR) crs $@ $^
  69. ../jackbridge.win64e.a: $(OBJS_win64e)
  70. $(RM) $@
  71. $(AR) crs $@ $^
  72. # --------------------------------------------------------------
  73. ../jackbridge-wine32.dll.so: $(OBJS_wine32) JackBridgeExport.def
  74. $(WINECXX) $^ -shared $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o $@
  75. ../jackbridge-wine64.dll.so: $(OBJS_wine64) JackBridgeExport.def
  76. $(WINECXX) $^ -shared $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o $@
  77. # --------------------------------------------------------------
  78. JackBridge1.cpp.o: JackBridge1.cpp JackBridge.hpp
  79. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  80. JackBridge2.cpp.o: JackBridge2.cpp JackBridge.hpp
  81. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  82. JackBridgeExport.cpp.%32e.o: JackBridgeExport.cpp JackBridgeExport.hpp JackBridge.hpp
  83. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -fpermissive -c -o $@
  84. JackBridgeExport.cpp.%64e.o: JackBridgeExport.cpp JackBridgeExport.hpp JackBridge.hpp
  85. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -fpermissive -c -o $@
  86. # --------------------------------------------------------------
  87. %.posix32.o: %
  88. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  89. %.posix64.o: %
  90. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  91. %.win32.o: %
  92. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  93. %.win64.o: %
  94. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  95. # --------------------------------------------------------------
  96. %.wine32.o: %
  97. $(WINECXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  98. %.wine64.o: %
  99. $(WINECXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  100. # --------------------------------------------------------------