DISTRHO ProM
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.

84 lines
2.3KB

  1. #!/usr/bin/make -f
  2. # Makefile for DISTRHO Plugins #
  3. # ---------------------------- #
  4. # Created by falkTX
  5. #
  6. # NAME, OBJS_DSP and OBJS_UI have been defined before
  7. include ../../Makefile.mk
  8. # --------------------------------------------------------------
  9. # Basic setup
  10. TARGET_DIR = ../../bin
  11. BUILD_C_FLAGS += -I.
  12. BUILD_CXX_FLAGS += -I. -I../../dpf/distrho -I../../dpf/dgl
  13. # --------------------------------------------------------------
  14. # Enable all possible plugin types
  15. ifeq ($(LINUX),true)
  16. all: jack lv2 vst
  17. else
  18. all: lv2 vst
  19. endif
  20. # --------------------------------------------------------------
  21. # Set plugin binary file targets
  22. jack = $(TARGET_DIR)/$(NAME)
  23. lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME).$(EXT)
  24. vst = $(TARGET_DIR)/$(NAME)-vst.$(EXT)
  25. # TODO: MacOS VST bundle
  26. # --------------------------------------------------------------
  27. # Set distrho code files
  28. DISTRHO_PLUGIN_FILES = ../../dpf/distrho/DistrhoPluginMain.cpp
  29. DISTRHO_UI_FILES = ../../dpf/distrho/DistrhoUIMain.cpp ../../dpf/libdgl.a
  30. # --------------------------------------------------------------
  31. # Common
  32. %.c.o: %.c
  33. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  34. %.cpp.o: %.cpp
  35. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  36. clean:
  37. rm -f *.o
  38. rm -rf $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2/
  39. # --------------------------------------------------------------
  40. # JACK
  41. jack: $(jack)
  42. $(jack): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
  43. mkdir -p $(shell dirname $@)
  44. $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs jack libprojectM) -lpthread -DDISTRHO_PLUGIN_TARGET_JACK -o $@
  45. # --------------------------------------------------------------
  46. # LV2
  47. lv2: $(lv2)
  48. $(lv2): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
  49. mkdir -p $(shell dirname $@)
  50. $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --libs libprojectM) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@
  51. # --------------------------------------------------------------
  52. # VST
  53. vst: $(vst)
  54. $(vst): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
  55. mkdir -p $(shell dirname $@)
  56. $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --libs libprojectM) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_VST -o $@
  57. # --------------------------------------------------------------