Collection of tools useful for audio production
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.

103 lines
3.5KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-discovery #
  3. # ----------------------------------------- #
  4. # Created by falkTX
  5. #
  6. CXX ?= g++
  7. WINECXX ?= wineg++
  8. STRIP ?= strip
  9. BASE_FLAGS = -O2 -ffast-math -fomit-frame-pointer -mtune=generic -msse -mfpmath=sse
  10. BASE_FLAGS += -Wall -I../carla-backend -I../carla-includes
  11. BUILD_FLAGS = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS)
  12. BUILD_FLAGS += $(shell pkg-config --cflags QtCore)
  13. BUILD_FLAGS += -DNDEBUG -DQT_NO_DEBUG -DQT_NO_DEBUG_STREAM -DQT_NO_DEBUG_OUTPUT
  14. BUILD_FLAGS += -DVESTIGE_HEADER # Comment this line to not use vestige header
  15. 32BIT_FLAGS = -m32
  16. 64BIT_FLAGS = -m64
  17. LINK_FLAGS = $(LDFLAGS)
  18. LINK_FLAGS += $(shell pkg-config --libs QtCore)
  19. ifneq ($(NATIVE),)
  20. BUILD_FLAGS += -DBUILD_NATIVE
  21. ifeq ($(shell pkg-config --exists fluidsynth && echo true),true)
  22. BUILD_FLAGS += $(shell pkg-config --cflags fluidsynth) -DWANT_FLUIDSYNTH
  23. LINK_FLAGS += $(shell pkg-config --libs fluidsynth)
  24. endif
  25. ifeq ($(shell pkg-config --exists linuxsampler && echo true),true)
  26. BUILD_FLAGS += $(shell pkg-config --cflags linuxsampler) -DWANT_LINUXSAMPLER
  27. LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
  28. endif
  29. endif
  30. POSIX_BUILD_FLAGS = $(BUILD_FLAGS)
  31. POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
  32. POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
  33. POSIX_LINK_FLAGS = $(LINK_FLAGS) -ldl
  34. WIN_BUILD_FLAGS = $(BUILD_FLAGS)
  35. WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  36. WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  37. WIN_LINK_FLAGS = $(LINK_FLAGS) -static -mwindows
  38. WINE_BUILD_FLAGS = $(BUILD_FLAGS) # -fpermissive
  39. WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine
  40. WINE_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64/wine -L/usr/lib/x86_64-linux-gnu/wine
  41. WINE_LINK_FLAGS = $(LINK_FLAGS) -ldl
  42. # --------------------------------------------------------------
  43. all: carla-discovery-native
  44. posix32: carla-discovery-posix32
  45. posix64: carla-discovery-posix64
  46. win32: carla-discovery-win32.exe
  47. win64: carla-discovery-win64.exe
  48. wine32: carla-discovery-win32.exe.so
  49. wine64: carla-discovery-win64.exe.so
  50. # --------------------------------------------------------------
  51. 32BIT_OBJS = carla-discovery.cpp ../carla-lilv/carla_lilv_32bit.a
  52. 64BIT_OBJS = carla-discovery.cpp ../carla-lilv/carla_lilv_64bit.a
  53. carla-discovery-native: carla-discovery.cpp ../carla-lilv/carla_lilv.a
  54. $(CXX) $^ $(BUILD_FLAGS) $(LINK_FLAGS) -o $@ && $(STRIP) $@
  55. carla-discovery-posix32: $(32BIT_OBJS)
  56. $(CXX) $^ $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@ && $(STRIP) $@
  57. carla-discovery-posix64: $(64BIT_OBJS)
  58. $(CXX) $^ $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@ && $(STRIP) $@
  59. carla-discovery-win32.exe: $(32BIT_OBJS)
  60. $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ && $(STRIP) $@
  61. carla-discovery-win64.exe: $(64BIT_OBJS)
  62. $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ && $(STRIP) $@
  63. carla-discovery-win32.exe.so: $(32BIT_OBJS)
  64. $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win32.exe && $(STRIP) $@
  65. carla-discovery-win64.exe.so: $(64BIT_OBJS)
  66. $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win64.exe && $(STRIP) $@
  67. ../carla-lilv/carla_lilv.a:
  68. $(MAKE) -C ../carla-lilv
  69. ../carla-lilv/carla_lilv_32bit.a:
  70. $(MAKE) -C ../carla-lilv 32bit
  71. ../carla-lilv/carla_lilv_64bit.a:
  72. $(MAKE) -C ../carla-lilv 64bit
  73. # --------------------------------------------------------------
  74. clean:
  75. rm -f carla-discovery-*