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.

136 lines
4.2KB

  1. #!/usr/bin/make -f
  2. # Makefile for juce_audio_processors #
  3. # ---------------------------------- #
  4. # Created by falkTX
  5. #
  6. CWD=../..
  7. MODULENAME=juce_audio_processors
  8. include ../Makefile.mk
  9. # ----------------------------------------------------------------------------------------------------------------------------
  10. BUILD_CXX_FLAGS += $(JUCE_AUDIO_PROCESSORS_FLAGS) -I$(CWD)/includes/vst3sdk -I..
  11. ifeq ($(CARLA_VESTIGE_HEADER),true)
  12. BUILD_CXX_FLAGS += -DVESTIGE_HEADER
  13. else
  14. # needed by vst3
  15. BUILD_CXX_FLAGS += -w
  16. ifeq ($(DEBUG),true)
  17. BUILD_CXX_FLAGS += -DDEVELOPMENT -D_DEBUG
  18. else
  19. BUILD_CXX_FLAGS += -DRELEASE
  20. endif
  21. # needed by vst3 on mingw
  22. ifeq ($(WIN32),true)
  23. BUILD_CXX_FLAGS += -D_NATIVE_WCHAR_T_DEFINED -D__wchar_t=wchar_t -fpermissive
  24. endif
  25. endif
  26. # ----------------------------------------------------------------------------------------------------------------------------
  27. ifeq ($(MACOS),true)
  28. OBJS = $(OBJDIR)/$(MODULENAME).mm.o
  29. OBJS_posix32 = $(OBJDIR)/$(MODULENAME).mm.posix32.o
  30. OBJS_posix64 = $(OBJDIR)/$(MODULENAME).mm.posix64.o
  31. else
  32. OBJS = $(OBJDIR)/$(MODULENAME).cpp.o
  33. OBJS_posix32 = $(OBJDIR)/$(MODULENAME).cpp.posix32.o
  34. OBJS_posix64 = $(OBJDIR)/$(MODULENAME).cpp.posix64.o
  35. endif
  36. OBJS_win32 = $(OBJDIR)/$(MODULENAME).cpp.win32.o
  37. OBJS_win64 = $(OBJDIR)/$(MODULENAME).cpp.win64.o
  38. # ----------------------------------------------------------------------------------------------------------------------------
  39. all: $(MODULEDIR)/$(MODULENAME).a
  40. posix32: $(MODULEDIR)/$(MODULENAME).posix32.a
  41. posix64: $(MODULEDIR)/$(MODULENAME).posix64.a
  42. win32: $(MODULEDIR)/$(MODULENAME).win32.a
  43. win64: $(MODULEDIR)/$(MODULENAME).win64.a
  44. # ----------------------------------------------------------------------------------------------------------------------------
  45. clean:
  46. rm -f $(OBJDIR)/*.o $(MODULEDIR)/$(MODULENAME)*.a
  47. debug:
  48. $(MAKE) DEBUG=true
  49. # ----------------------------------------------------------------------------------------------------------------------------
  50. $(MODULEDIR)/$(MODULENAME).a: $(OBJS)
  51. -@mkdir -p $(MODULEDIR)
  52. @echo "Creating $(MODULENAME).a"
  53. @rm -f $@
  54. @$(AR) crs $@ $^
  55. $(MODULEDIR)/$(MODULENAME).posix32.a: $(OBJS_posix32)
  56. -@mkdir -p $(MODULEDIR)
  57. @echo "Creating $(MODULENAME).posix32.a"
  58. @rm -f $@
  59. @$(AR) crs $@ $^
  60. $(MODULEDIR)/$(MODULENAME).posix64.a: $(OBJS_posix64)
  61. -@mkdir -p $(MODULEDIR)
  62. @echo "Creating $(MODULENAME).posix64.a"
  63. @rm -f $@
  64. @$(AR) crs $@ $^
  65. $(MODULEDIR)/$(MODULENAME).win32.a: $(OBJS_win32)
  66. -@mkdir -p $(MODULEDIR)
  67. @echo "Creating $(MODULENAME).win32.a"
  68. @rm -f $@
  69. @$(AR) crs $@ $^
  70. $(MODULEDIR)/$(MODULENAME).win64.a: $(OBJS_win64)
  71. -@mkdir -p $(MODULEDIR)
  72. @echo "Creating $(MODULENAME).win64.a"
  73. @rm -f $@
  74. @$(AR) crs $@ $^
  75. # ----------------------------------------------------------------------------------------------------------------------------
  76. $(OBJDIR)/$(MODULENAME).cpp.o: $(MODULENAME).cpp
  77. -@mkdir -p $(OBJDIR)
  78. @echo "Compiling $<"
  79. @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  80. $(OBJDIR)/$(MODULENAME).cpp.%32.o: $(MODULENAME).cpp
  81. -@mkdir -p $(OBJDIR)
  82. @echo "Compiling $< (32bit)"
  83. @$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
  84. $(OBJDIR)/$(MODULENAME).cpp.%64.o: $(MODULENAME).cpp
  85. -@mkdir -p $(OBJDIR)
  86. @echo "Compiling $< (64bit)"
  87. @$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
  88. # ----------------------------------------------------------------------------------------------------------------------------
  89. $(OBJDIR)/$(MODULENAME).mm.o: $(MODULENAME).cpp
  90. -@mkdir -p $(OBJDIR)
  91. @echo "Compiling $<"
  92. @$(CXX) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@
  93. $(OBJDIR)/$(MODULENAME).mm.%32.o: $(MODULENAME).cpp
  94. -@mkdir -p $(OBJDIR)
  95. @echo "Compiling $< (32bit)"
  96. @$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -ObjC++ -c -o $@
  97. $(OBJDIR)/$(MODULENAME).mm.%64.o: $(MODULENAME).cpp
  98. -@mkdir -p $(OBJDIR)
  99. @echo "Compiling $< (64bit)"
  100. @$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -ObjC++ -c -o $@
  101. # ----------------------------------------------------------------------------------------------------------------------------
  102. -include $(OBJS:%.o=%.d)
  103. -include $(OBJS_posix32:%.o=%.d)
  104. -include $(OBJS_posix64:%.o=%.d)
  105. -include $(OBJS_win32:%.o=%.d)
  106. -include $(OBJS_win64:%.o=%.d)
  107. # ----------------------------------------------------------------------------------------------------------------------------