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.

124 lines
4.0KB

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