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.

89 lines
2.5KB

  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. BASE_FLAGS += -DHAVE_DGL
  14. ifeq ($(HAVE_JACK),true)
  15. BASE_FLAGS += -DHAVE_JACK
  16. endif
  17. # --------------------------------------------------------------
  18. # Set plugin binary file targets
  19. jack = $(TARGET_DIR)/$(NAME)$(APP_EXT)
  20. lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME)$(LIB_EXT)
  21. vst = $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT)
  22. # --------------------------------------------------------------
  23. # Set distrho code files
  24. DISTRHO_PLUGIN_FILES = ../../dpf/distrho/DistrhoPluginMain.cpp
  25. DISTRHO_UI_FILES = ../../dpf/distrho/DistrhoUIMain.cpp ../../dpf/libdgl.a
  26. # --------------------------------------------------------------
  27. # all needs to be first
  28. all:
  29. # --------------------------------------------------------------
  30. # Common
  31. %.c.o: %.c
  32. $(CC) $< $(BUILD_C_FLAGS) -MD -MP -c -o $@
  33. %.cpp.o: %.cpp
  34. $(CXX) $< $(BUILD_CXX_FLAGS) -MD -MP -c -o $@
  35. clean:
  36. rm -f *.d *.o
  37. rm -rf $(TARGET_DIR)/$(NAME) $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2/
  38. # --------------------------------------------------------------
  39. # JACK
  40. jack: $(jack)
  41. $(jack): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
  42. mkdir -p $(shell dirname $@)
  43. $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs jack libprojectM) -lpthread -DDISTRHO_PLUGIN_TARGET_JACK -o $@
  44. # --------------------------------------------------------------
  45. # LV2
  46. lv2: $(lv2)
  47. $(lv2): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
  48. mkdir -p $(shell dirname $@)
  49. $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs libprojectM) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@
  50. # --------------------------------------------------------------
  51. # VST
  52. vst: $(vst)
  53. $(vst): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
  54. mkdir -p $(shell dirname $@)
  55. $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs libprojectM) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_VST -o $@
  56. # --------------------------------------------------------------
  57. -include $(OBJS_DSP:%.o=%.d)
  58. -include $(OBJS_UI:%.o=%.d)
  59. # --------------------------------------------------------------