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.

145 lines
4.3KB

  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. OBJS = JackBridge1.cpp.o JackBridge2.cpp.o
  15. OBJS_posix32 = JackBridge1.cpp.posix32.o JackBridge2.cpp.posix32.o
  16. OBJS_posix64 = JackBridge1.cpp.posix64.o JackBridge2.cpp.posix64.o
  17. OBJS_posix32e = JackBridge1.cpp.posix32e.o JackBridge2.cpp.posix32e.o
  18. OBJS_posix64e = JackBridge1.cpp.posix64e.o JackBridge2.cpp.posix64e.o
  19. OBJS_win32 = JackBridge1.cpp.win32.o JackBridge2.cpp.win32.o
  20. OBJS_win64 = JackBridge1.cpp.win64.o JackBridge2.cpp.win64.o
  21. OBJS_win64e = JackBridge1.cpp.win64e.o JackBridge2.cpp.win64e.o
  22. OBJS_win32e = JackBridge1.cpp.win32e.o JackBridge2.cpp.win32e.o
  23. OBJS_wine32 = JackBridge1.cpp.wine32.o JackBridge2.cpp.wine32.o
  24. OBJS_wine64 = JackBridge1.cpp.wine64.o JackBridge2.cpp.wine64.o
  25. # --------------------------------------------------------------
  26. all: ../jackbridge.a
  27. posix32: ../jackbridge.posix32.a
  28. posix64: ../jackbridge.posix64.a
  29. posix32e: ../jackbridge-posix32e.so
  30. posix64e: ../jackbridge-posix64e.so
  31. win32: ../jackbridge.win32.a
  32. win64: ../jackbridge.win64.a
  33. win32e: ../jackbridge-win32.dll
  34. win64e: ../jackbridge-win64.dll
  35. wine32: ../jackbridge-win32.dll.so
  36. wine64: ../jackbridge-win64.dll.so
  37. # --------------------------------------------------------------
  38. ../jackbridge.a: $(OBJS)
  39. $(RM) $@
  40. $(AR) crs $@ $^
  41. ../jackbridge.posix32.a: $(OBJS_posix32)
  42. $(RM) $@
  43. $(AR) crs $@ $^
  44. ../jackbridge.posix64.a: $(OBJS_posix64)
  45. $(RM) $@
  46. $(AR) crs $@ $^
  47. ../jackbridge.win32.a: $(OBJS_win32)
  48. $(RM) $@
  49. $(AR) crs $@ $^
  50. ../jackbridge.win64.a: $(OBJS_win64)
  51. $(RM) $@
  52. $(AR) crs $@ $^
  53. ../libjackbridge.dll: $(OBJS)
  54. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  55. ../libjackbridge.dylib: $(OBJS)
  56. $(CXX) $^ -dynamiclib $(LINK_FLAGS) -o $@
  57. ../libjackbridge.so: $(OBJS)
  58. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  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. %.cpp.o: %.cpp
  95. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  96. # --------------------------------------------------------------
  97. clean:
  98. $(RM) *.o ../jackbridge*.a ../libjackbridge.*
  99. debug:
  100. $(MAKE) DEBUG=true
  101. # --------------------------------------------------------------