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.

157 lines
5.4KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-discovery #
  3. # ---------------------------- #
  4. # Created by falkTX
  5. #
  6. ifeq ($(WIN64),true)
  7. winv=64
  8. else
  9. winv=32
  10. endif
  11. CWD=..
  12. MODULENAME=carla-discovery
  13. include $(CWD)/Makefile.mk
  14. # ----------------------------------------------------------------------------------------------------------------------------
  15. BINDIR := $(CWD)/../bin
  16. ifeq ($(DEBUG),true)
  17. OBJDIR := $(CWD)/../build/discovery/Debug
  18. MODULEDIR := $(CWD)/../build/modules/Debug
  19. else
  20. OBJDIR := $(CWD)/../build/discovery/Release
  21. MODULEDIR := $(CWD)/../build/modules/Release
  22. endif
  23. # ----------------------------------------------------------------------------------------------------------------------------
  24. BUILD_CXX_FLAGS += -I$(CWD)/backend -I$(CWD)/includes -I$(CWD)/modules -I$(CWD)/utils
  25. ifeq ($(MACOS),true)
  26. BUILD_CXX_FLAGS += -ObjC++
  27. endif
  28. ifeq ($(WIN32),true)
  29. LINK_FLAGS += -lole32 -mwindows
  30. endif
  31. 32BIT_FLAGS += -DBUILD_BRIDGE -DBUILD_BRIDGE_ALTERNATIVE_ARCH
  32. 64BIT_FLAGS += -DBUILD_BRIDGE -DBUILD_BRIDGE_ALTERNATIVE_ARCH
  33. # ----------------------------------------------------------------------------------------------------------------------------
  34. NATIVE_BUILD_FLAGS =
  35. NATIVE_LINK_FLAGS =
  36. ifeq ($(HAVE_FLUIDSYNTH),true)
  37. NATIVE_BUILD_FLAGS += $(FLUIDSYNTH_FLAGS)
  38. NATIVE_LINK_FLAGS += $(FLUIDSYNTH_LIBS)
  39. endif
  40. # ----------------------------------------------------------------------------------------------------------------------------
  41. LIBS_native = $(MODULEDIR)/lilv.a
  42. LIBS_posix32 = $(MODULEDIR)/lilv.posix32.a
  43. LIBS_posix64 = $(MODULEDIR)/lilv.posix64.a
  44. LIBS_win32 = $(MODULEDIR)/lilv.win32.a
  45. LIBS_win64 = $(MODULEDIR)/lilv.win64.a
  46. LINK_FLAGS += $(LILV_LIBS)
  47. LIBS_native += $(MODULEDIR)/water.files.a
  48. LINK_FLAGS += $(WATER_LIBS)
  49. LINK_FLAGS += $(LIBDL_LIBS)
  50. # ----------------------------------------------------------------------------------------------------------------------------
  51. OBJS_native = $(OBJDIR)/$(MODULENAME).cpp.o
  52. OBJS_posix32 = $(OBJDIR)/$(MODULENAME).cpp.posix32.o
  53. OBJS_posix64 = $(OBJDIR)/$(MODULENAME).cpp.posix64.o
  54. OBJS_win32 = $(OBJDIR)/$(MODULENAME).cpp.win32.o
  55. OBJS_win64 = $(OBJDIR)/$(MODULENAME).cpp.win64.o
  56. # ----------------------------------------------------------------------------------------------------------------------------
  57. all: native
  58. # ----------------------------------------------------------------------------------------------------------------------------
  59. clean:
  60. rm -f $(OBJDIR)/*.o $(BINDIR)/$(MODULENAME)-*
  61. debug:
  62. $(MAKE) DEBUG=true
  63. # ----------------------------------------------------------------------------------------------------------------------------
  64. native: $(BINDIR)/$(MODULENAME)-native$(APP_EXT)
  65. posix32: $(BINDIR)/$(MODULENAME)-posix32
  66. posix64: $(BINDIR)/$(MODULENAME)-posix64
  67. win32: $(BINDIR)/$(MODULENAME)-win32.exe
  68. win64: $(BINDIR)/$(MODULENAME)-win64.exe
  69. # ----------------------------------------------------------------------------------------------------------------------------
  70. $(BINDIR)/$(MODULENAME)-native: $(OBJS_native) $(LIBS_native)
  71. -@mkdir -p $(BINDIR)
  72. @echo "Linking $(MODULENAME)-native"
  73. @$(CXX) $< $(LIBS_START) $(LIBS_native) $(LIBS_END) $(LINK_FLAGS) $(NATIVE_LINK_FLAGS) -o $@
  74. $(BINDIR)/$(MODULENAME)-native.exe: $(OBJS_native) $(LIBS_native)
  75. -@mkdir -p $(BINDIR)
  76. @echo "Linking $(MODULENAME)-native.exe"
  77. @$(CXX) $< $(LIBS_START) $(LIBS_native) $(LIBS_END) $(LINK_FLAGS) $(NATIVE_LINK_FLAGS) -o $@
  78. @echo "Symlinking $(MODULENAME)-win$(winv).exe"
  79. @rm -f $(BINDIR)/$(MODULENAME)-win$(winv).exe
  80. @ln -s $(MODULENAME)-native.exe $(BINDIR)/$(MODULENAME)-win$(winv).exe
  81. $(BINDIR)/$(MODULENAME)-posix32: $(OBJS_posix32) $(LIBS_posix32)
  82. -@mkdir -p $(BINDIR)
  83. @echo "Linking $(MODULENAME)-posix32"
  84. @$(CXX) $< $(LIBS_START) $(LIBS_posix32) $(LIBS_END) $(LINK_FLAGS) $(32BIT_FLAGS) -o $@
  85. $(BINDIR)/$(MODULENAME)-posix64: $(OBJS_posix64) $(LIBS_posix64)
  86. -@mkdir -p $(BINDIR)
  87. @echo "Linking $(MODULENAME)-posix64"
  88. @$(CXX) $< $(LIBS_START) $(LIBS_posix64) $(LIBS_END) $(LINK_FLAGS) $(64BIT_FLAGS) -o $@
  89. $(BINDIR)/$(MODULENAME)-win32.exe: $(OBJS_win32) $(LIBS_win32)
  90. -@mkdir -p $(BINDIR)
  91. @echo "Linking $(MODULENAME)-win32.exe"
  92. @$(CXX) $< $(LIBS_START) $(LIBS_win32) $(LIBS_END) $(LINK_FLAGS) $(32BIT_FLAGS) -o $@
  93. $(BINDIR)/$(MODULENAME)-win64.exe: $(OBJS_win64) $(LIBS_win64)
  94. -@mkdir -p $(BINDIR)
  95. @echo "Linking $(MODULENAME)-win64.exe"
  96. @$(CXX) $< $(LIBS_START) $(LIBS_win64) $(LIBS_END) $(LINK_FLAGS) $(64BIT_FLAGS) -o $@
  97. # ----------------------------------------------------------------------------------------------------------------------------
  98. $(OBJDIR)/$(MODULENAME).cpp.o: $(MODULENAME).cpp
  99. -@mkdir -p $(OBJDIR)
  100. @echo "Compiling $<"
  101. @$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -c -o $@
  102. $(OBJDIR)/$(MODULENAME).cpp.%32.o: $(MODULENAME).cpp
  103. -@mkdir -p $(OBJDIR)
  104. @echo "Compiling $< (32bit)"
  105. @$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  106. $(OBJDIR)/$(MODULENAME).cpp.%64.o: $(MODULENAME).cpp
  107. -@mkdir -p $(OBJDIR)
  108. @echo "Compiling $< (64bit)"
  109. @$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  110. # ----------------------------------------------------------------------------------------------------------------------------
  111. -include $(OBJS_native:%.o=%.d)
  112. -include $(OBJS_posix32:%.o=%.d)
  113. -include $(OBJS_posix64:%.o=%.d)
  114. -include $(OBJS_win32:%.o=%.d)
  115. -include $(OBJS_win64:%.o=%.d)
  116. # ----------------------------------------------------------------------------------------------------------------------------