The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
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.

120 lines
5.1KB

  1. # Automatically generated makefile, created by the Projucer
  2. # Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!
  3. # build with "V=1" for verbose builds
  4. ifeq ($(V), 1)
  5. V_AT =
  6. else
  7. V_AT = @
  8. endif
  9. # (this disables dependency generation if multiple architectures are set)
  10. DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
  11. ifndef PKG_CONFIG
  12. PKG_CONFIG=pkg-config
  13. endif
  14. ifndef STRIP
  15. STRIP=strip
  16. endif
  17. ifndef AR
  18. AR=ar
  19. endif
  20. ifndef CONFIG
  21. CONFIG=Debug
  22. endif
  23. JUCE_ARCH_LABEL := $(shell uname -m)
  24. ifeq ($(CONFIG),Debug)
  25. JUCE_BINDIR := build
  26. JUCE_LIBDIR := build
  27. JUCE_OBJDIR := build/intermediate/Debug
  28. JUCE_OUTDIR := build
  29. ifeq ($(TARGET_ARCH),)
  30. TARGET_ARCH :=
  31. endif
  32. JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x70009" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell $(PKG_CONFIG) --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
  33. JUCE_CPPFLAGS_CONSOLEAPP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" "-DJucePlugin_Build_LV2=0"
  34. JUCE_TARGET_CONSOLEAPP := BinaryBuilder
  35. JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS)
  36. JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++17 $(CXXFLAGS)
  37. JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell $(PKG_CONFIG) --libs libcurl) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS)
  38. CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) $(JUCE_OBJDIR)
  39. endif
  40. ifeq ($(CONFIG),Release)
  41. JUCE_BINDIR := build
  42. JUCE_LIBDIR := build
  43. JUCE_OBJDIR := build/intermediate/Release
  44. JUCE_OUTDIR := build
  45. ifeq ($(TARGET_ARCH),)
  46. TARGET_ARCH :=
  47. endif
  48. JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x70009" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell $(PKG_CONFIG) --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
  49. JUCE_CPPFLAGS_CONSOLEAPP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" "-DJucePlugin_Build_LV2=0"
  50. JUCE_TARGET_CONSOLEAPP := BinaryBuilder
  51. JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os $(CFLAGS)
  52. JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++17 $(CXXFLAGS)
  53. JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell $(PKG_CONFIG) --libs libcurl) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS)
  54. CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) $(JUCE_OBJDIR)
  55. endif
  56. OBJECTS_CONSOLEAPP := \
  57. $(JUCE_OBJDIR)/Main_90ebc5c2.o \
  58. $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \
  59. .PHONY: clean all strip
  60. all : $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP)
  61. $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) : $(OBJECTS_CONSOLEAPP) $(JUCE_OBJDIR)/execinfo.cmd $(RESOURCES)
  62. @command -v $(PKG_CONFIG) >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }
  63. @$(PKG_CONFIG) --print-errors libcurl
  64. @echo Linking "BinaryBuilder - ConsoleApp"
  65. -$(V_AT)mkdir -p $(JUCE_BINDIR)
  66. -$(V_AT)mkdir -p $(JUCE_LIBDIR)
  67. -$(V_AT)mkdir -p $(JUCE_OUTDIR)
  68. $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) $(OBJECTS_CONSOLEAPP) $(JUCE_LDFLAGS) $(shell cat $(JUCE_OBJDIR)/execinfo.cmd) $(RESOURCES) $(TARGET_ARCH)
  69. $(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp
  70. -$(V_AT)mkdir -p $(@D)
  71. @echo "Compiling Main.cpp"
  72. $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<"
  73. $(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp
  74. -$(V_AT)mkdir -p $(@D)
  75. @echo "Compiling include_juce_core.cpp"
  76. $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<"
  77. $(JUCE_OBJDIR)/execinfo.cmd:
  78. -$(V_AT)mkdir -p $(@D)
  79. -@if [ -z "$(V_AT)" ]; then echo "Checking if we need to link libexecinfo"; fi
  80. $(V_AT)printf "int main() { return 0; }" | $(CXX) -x c++ -o $(@D)/execinfo.x -lexecinfo - >/dev/null 2>&1 && printf -- "-lexecinfo" > "$@" || touch "$@"
  81. $(JUCE_OBJDIR)/cxxfs.cmd:
  82. -$(V_AT)mkdir -p $(@D)
  83. -@if [ -z "$(V_AT)" ]; then echo "Checking if we need to link stdc++fs"; fi
  84. $(V_AT)printf "int main() { return 0; }" | $(CXX) -x c++ -o $(@D)/cxxfs.x -lstdc++fs - >/dev/null 2>&1 && printf -- "-lstdc++fs" > "$@" || touch "$@"
  85. clean:
  86. @echo Cleaning BinaryBuilder
  87. $(V_AT)$(CLEANCMD)
  88. strip:
  89. @echo Stripping BinaryBuilder
  90. -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP)
  91. -include $(OBJECTS_CONSOLEAPP:%.o=%.d)