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.

93 lines
2.3KB

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