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.

126 lines
3.5KB

  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. OBJS = JackBridge1.cpp.o JackBridge2.cpp.o
  12. OBJS_posix32 = JackBridge1.cpp.posix32.o JackBridge2.cpp.posix32.o
  13. OBJS_posix64 = JackBridge1.cpp.posix64.o JackBridge2.cpp.posix64.o
  14. OBJS_win32 = JackBridge1.cpp.win32.o JackBridge2.cpp.win32.o
  15. OBJS_win64 = JackBridge1.cpp.win64.o JackBridge2.cpp.win64.o
  16. # --------------------------------------------------------------
  17. all: ../jackbridge.a
  18. posix32: ../jackbridge.posix32.a
  19. posix64: ../jackbridge.posix64.a
  20. win32: ../jackbridge.win32.a
  21. win64: ../jackbridge.win64.a
  22. # --------------------------------------------------------------
  23. ../jackbridge.a: $(OBJS)
  24. $(RM) $@
  25. $(AR) crs $@ $^
  26. ../jackbridge.posix32.a: $(OBJS_posix32)
  27. $(RM) $@
  28. $(AR) crs $@ $^
  29. ../jackbridge.posix64.a: $(OBJS_posix64)
  30. $(RM) $@
  31. $(AR) crs $@ $^
  32. ../jackbridge.win32.a: $(OBJS_win32)
  33. $(RM) $@
  34. $(AR) crs $@ $^
  35. ../jackbridge.win64.a: $(OBJS_win64)
  36. $(RM) $@
  37. $(AR) crs $@ $^
  38. ../libjackbridge.dll: $(OBJS)
  39. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  40. ../libjackbridge.dylib: $(OBJS)
  41. $(CXX) $^ -dynamiclib $(LINK_FLAGS) -o $@
  42. ../libjackbridge.so: $(OBJS)
  43. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  44. # --------------------------------------------------------------
  45. %.cpp.o: %.cpp
  46. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  47. %.posix32.o: %
  48. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  49. %.posix64.o: %
  50. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  51. %.win32.o: %
  52. $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  53. %.win64.o: %
  54. $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  55. # --------------------------------------------------------------
  56. clean:
  57. $(RM) *.o ../jackbridge*.a ../libjackbridge.*
  58. debug:
  59. $(MAKE) DEBUG=true
  60. # --------------------------------------------------------------
  61. # win32: ../jackbridge-win32.dll
  62. # win64: ../jackbridge-win64.dll
  63. # wine32: ../jackbridge-win32.dll.so
  64. # wine64: ../jackbridge-win64.dll.so
  65. # BUILD_CXX_FLAGS += -DJACKBRIDGE_EXPORT
  66. # WIN_BUILD_FLAGS = $(BUILD_CXX_FLAGS) -DJACKBRIDGE_DUMMY=1
  67. # WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  68. # WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  69. # WIN_LINK_FLAGS = $(LINK_FLAGS)
  70. #
  71. # WINE_BUILD_FLAGS = $(BUILD_CXX_FLAGS) -fPIC
  72. # WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine
  73. # WINE_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64/wine -L/usr/lib/x86_64-linux-gnu/wine
  74. # WINE_LINK_FLAGS = $(LINK_FLAGS) -ldl -lrt -lpthread
  75. # OBJSw32 = JackBridge1.w32.o JackBridge2.w32.o
  76. # OBJSw64 = JackBridge1.w64.o JackBridge2.w64.o
  77. # JackBridge%.w32.o: JackBridge%.cpp
  78. # $(CXX) $^ $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  79. #
  80. # JackBridge%.w64.o: JackBridge%.cpp
  81. # $(CXX) $^ $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  82. # ../jackbridge-win32.dll: $(OBJS)
  83. # $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -Wl,--output-def,$@.def,--out-implib,$@.a -o $@
  84. #
  85. # ../jackbridge-win64.dll: $(OBJS)
  86. # $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -Wl,--output-def,$@.def,--out-implib,$@.a -o $@
  87. #
  88. # ../jackbridge-win32.dll.so: $(OBJSw32) ../jackbridge-win32.dll.def
  89. # $(WINECXX) $^ $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o $@
  90. #
  91. # ../jackbridge-win64.dll.so: $(OBJS) ../jackbridge-win64.dll.def
  92. # $(WINECXX) $^ $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o $@