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.

91 lines
2.3KB

  1. ARCH ?= linux
  2. CXXFLAGS = -MMD -fPIC -g -Wall -std=c++11 -O3 -msse -mfpmath=sse -ffast-math -DTEST \
  3. -I./src -I../../include -I./eurorack \
  4. -fshort-enums
  5. LDFLAGS =
  6. SOURCES = $(wildcard src/*.cpp) \
  7. eurorack/stmlib/utils/random.cc \
  8. eurorack/stmlib/dsp/atan.cc \
  9. eurorack/stmlib/dsp/units.cc \
  10. eurorack/braids/macro_oscillator.cc \
  11. eurorack/braids/analog_oscillator.cc \
  12. eurorack/braids/digital_oscillator.cc \
  13. eurorack/braids/quantizer.cc \
  14. eurorack/braids/resources.cc \
  15. eurorack/clouds/dsp/correlator.cc \
  16. eurorack/clouds/dsp/granular_processor.cc \
  17. eurorack/clouds/dsp/mu_law.cc \
  18. eurorack/clouds/dsp/pvoc/frame_transformation.cc \
  19. eurorack/clouds/dsp/pvoc/phase_vocoder.cc \
  20. eurorack/clouds/dsp/pvoc/stft.cc \
  21. eurorack/clouds/resources.cc \
  22. eurorack/elements/dsp/exciter.cc \
  23. eurorack/elements/dsp/ominous_voice.cc \
  24. eurorack/elements/dsp/resonator.cc \
  25. eurorack/elements/dsp/tube.cc \
  26. eurorack/elements/dsp/multistage_envelope.cc \
  27. eurorack/elements/dsp/part.cc \
  28. eurorack/elements/dsp/string.cc \
  29. eurorack/elements/dsp/voice.cc \
  30. eurorack/elements/resources.cc \
  31. eurorack/rings/dsp/fm_voice.cc \
  32. eurorack/rings/dsp/part.cc \
  33. eurorack/rings/dsp/string_synth_part.cc \
  34. eurorack/rings/dsp/string.cc \
  35. eurorack/rings/dsp/resonator.cc \
  36. eurorack/rings/resources.cc \
  37. eurorack/tides/generator.cc \
  38. eurorack/tides/resources.cc \
  39. eurorack/warps/dsp/modulator.cc \
  40. eurorack/warps/dsp/oscillator.cc \
  41. eurorack/warps/dsp/vocoder.cc \
  42. eurorack/warps/dsp/filter_bank.cc \
  43. eurorack/warps/resources.cc
  44. # Linux
  45. ifeq ($(ARCH), linux)
  46. CC = gcc
  47. CXX = g++
  48. CXXFLAGS += -Wno-unused-local-typedefs
  49. LDFLAGS += -shared
  50. TARGET = plugin.so
  51. endif
  52. # Apple
  53. ifeq ($(ARCH), apple)
  54. CC = clang
  55. CXX = clang++
  56. CXXFLAGS += -stdlib=libc++
  57. LDFLAGS += -stdlib=libc++ -shared -undefined dynamic_lookup
  58. TARGET = plugin.dylib
  59. endif
  60. # Windows
  61. ifeq ($(ARCH), windows)
  62. CC = x86_64-w64-mingw32-gcc
  63. CXX = x86_64-w64-mingw32-g++
  64. CXXFLAGS += -D_USE_MATH_DEFINES -Wno-unused-local-typedefs
  65. SOURCES +=
  66. LDFLAGS += -shared -L../../ -lRack
  67. TARGET = plugin.dll
  68. endif
  69. all: $(TARGET)
  70. dist: $(TARGET)
  71. mkdir -p dist/AudibleInstruments
  72. cp LICENSE* dist/AudibleInstruments/
  73. cp plugin.* dist/AudibleInstruments/
  74. cp -R res dist/AudibleInstruments/
  75. clean:
  76. rm -rfv build $(TARGET) dist
  77. include ../../Makefile.inc