diff --git a/examples/BouncingBallWavetableDemo/Builds/Linux/Makefile b/examples/BouncingBallWavetableDemo/Builds/Linux/Makefile index d0ea1f4445..5a4a7c51ff 100644 --- a/examples/BouncingBallWavetableDemo/Builds/Linux/Makefile +++ b/examples/BouncingBallWavetableDemo/Builds/Linux/Makefile @@ -4,157 +4,169 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := WavetableBouncingEditor - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := WavetableBouncingEditor - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/MainComponent_a6ffb4a5.o \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_video_f128c512.o \ + $(JUCE_OBJDIR)/MainComponent_a6ffb4a5.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_video_f128c512.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking BouncingBallWavetableDemo - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning BouncingBallWavetableDemo @$(CLEANCMD) strip: @echo Stripping BouncingBallWavetableDemo - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MainComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/Demo/Builds/Linux/Makefile b/examples/Demo/Builds/Linux/Makefile index 8f73ad3b58..3876b63560 100644 --- a/examples/Demo/Builds/Linux/Makefile +++ b/examples/Demo/Builds/Linux/Makefile @@ -4,403 +4,415 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=3.0.0 -DJUCE_APP_VERSION_HEX=0x30000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=3.0.0 -DJUCE_APP_VERSION_HEX=0x30000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := JuceDemo - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=3.0.0 -DJUCE_APP_VERSION_HEX=0x30000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=3.0.0 -DJUCE_APP_VERSION_HEX=0x30000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := JuceDemo - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/MainWindow_499ac812.o \ - $(OBJDIR)/IntroScreen_73347059.o \ - $(OBJDIR)/AnimationDemo_9fc7e4e9.o \ - $(OBJDIR)/AudioLatencyDemo_78d49233.o \ - $(OBJDIR)/AudioPlaybackDemo_ea12adf6.o \ - $(OBJDIR)/AudioRecordingDemo_435914e6.o \ - $(OBJDIR)/AudioSettingsDemo_6d710bfe.o \ - $(OBJDIR)/AudioSynthesiserDemo_1b3666f6.o \ - $(OBJDIR)/Box2DDemo_51053c42.o \ - $(OBJDIR)/CameraDemo_a10f7e50.o \ - $(OBJDIR)/ChildProcessDemo_2c2b949e.o \ - $(OBJDIR)/CodeEditorDemo_d5c17a65.o \ - $(OBJDIR)/ComponentTransformsDemo_377f7889.o \ - $(OBJDIR)/CryptographyDemo_232d46d7.o \ - $(OBJDIR)/DialogsDemo_19d585d0.o \ - $(OBJDIR)/FontsDemo_6da1e5e9.o \ - $(OBJDIR)/GraphicsDemo_85142ef6.o \ - $(OBJDIR)/ImagesDemo_ecf13aa3.o \ - $(OBJDIR)/JavaScript_d6e42eb5.o \ - $(OBJDIR)/KeyMappingsDemo_cf05c709.o \ - $(OBJDIR)/LiveConstantDemo_e3b18a9b.o \ - $(OBJDIR)/LookAndFeelDemo_25c558a3.o \ - $(OBJDIR)/MDIDemo_c476c2d7.o \ - $(OBJDIR)/MidiDemo_75ebc30c.o \ - $(OBJDIR)/MultithreadingDemo_ff566eaa.o \ - $(OBJDIR)/MultiTouch_595f3a2e.o \ - $(OBJDIR)/NetworkingDemo_fbd1b19f.o \ - $(OBJDIR)/OpenGLDemo_fdac55da.o \ - $(OBJDIR)/OpenGLDemo2D_48eeadec.o \ - $(OBJDIR)/PropertiesDemo_8ff1a8de.o \ - $(OBJDIR)/SystemInfoDemo_984acd28.o \ - $(OBJDIR)/TimersAndEventsDemo_f2656547.o \ - $(OBJDIR)/UnitTestsDemo_5c21762.o \ - $(OBJDIR)/ValueTreesDemo_9657d84f.o \ - $(OBJDIR)/VideoDemo_b55a1560.o \ - $(OBJDIR)/WebBrowserDemo_3df2dbdf.o \ - $(OBJDIR)/WidgetsDemo_fb0454.o \ - $(OBJDIR)/WindowsDemo_e8cfa428.o \ - $(OBJDIR)/XMLandJSONDemo_5bc88df3.o \ - $(OBJDIR)/BinaryData_ce4232d4.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_box2d_95719d14.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_opengl_cd70b4c2.o \ - $(OBJDIR)/juce_video_f128c512.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/MainWindow_499ac812.o \ + $(JUCE_OBJDIR)/IntroScreen_73347059.o \ + $(JUCE_OBJDIR)/AnimationDemo_9fc7e4e9.o \ + $(JUCE_OBJDIR)/AudioLatencyDemo_78d49233.o \ + $(JUCE_OBJDIR)/AudioPlaybackDemo_ea12adf6.o \ + $(JUCE_OBJDIR)/AudioRecordingDemo_435914e6.o \ + $(JUCE_OBJDIR)/AudioSettingsDemo_6d710bfe.o \ + $(JUCE_OBJDIR)/AudioSynthesiserDemo_1b3666f6.o \ + $(JUCE_OBJDIR)/Box2DDemo_51053c42.o \ + $(JUCE_OBJDIR)/CameraDemo_a10f7e50.o \ + $(JUCE_OBJDIR)/ChildProcessDemo_2c2b949e.o \ + $(JUCE_OBJDIR)/CodeEditorDemo_d5c17a65.o \ + $(JUCE_OBJDIR)/ComponentTransformsDemo_377f7889.o \ + $(JUCE_OBJDIR)/CryptographyDemo_232d46d7.o \ + $(JUCE_OBJDIR)/DialogsDemo_19d585d0.o \ + $(JUCE_OBJDIR)/FontsDemo_6da1e5e9.o \ + $(JUCE_OBJDIR)/GraphicsDemo_85142ef6.o \ + $(JUCE_OBJDIR)/ImagesDemo_ecf13aa3.o \ + $(JUCE_OBJDIR)/JavaScript_d6e42eb5.o \ + $(JUCE_OBJDIR)/KeyMappingsDemo_cf05c709.o \ + $(JUCE_OBJDIR)/LiveConstantDemo_e3b18a9b.o \ + $(JUCE_OBJDIR)/LookAndFeelDemo_25c558a3.o \ + $(JUCE_OBJDIR)/MDIDemo_c476c2d7.o \ + $(JUCE_OBJDIR)/MidiDemo_75ebc30c.o \ + $(JUCE_OBJDIR)/MultithreadingDemo_ff566eaa.o \ + $(JUCE_OBJDIR)/MultiTouch_595f3a2e.o \ + $(JUCE_OBJDIR)/NetworkingDemo_fbd1b19f.o \ + $(JUCE_OBJDIR)/OpenGLDemo_fdac55da.o \ + $(JUCE_OBJDIR)/OpenGLDemo2D_48eeadec.o \ + $(JUCE_OBJDIR)/PropertiesDemo_8ff1a8de.o \ + $(JUCE_OBJDIR)/SystemInfoDemo_984acd28.o \ + $(JUCE_OBJDIR)/TimersAndEventsDemo_f2656547.o \ + $(JUCE_OBJDIR)/UnitTestsDemo_5c21762.o \ + $(JUCE_OBJDIR)/ValueTreesDemo_9657d84f.o \ + $(JUCE_OBJDIR)/VideoDemo_b55a1560.o \ + $(JUCE_OBJDIR)/WebBrowserDemo_3df2dbdf.o \ + $(JUCE_OBJDIR)/WidgetsDemo_fb0454.o \ + $(JUCE_OBJDIR)/WindowsDemo_e8cfa428.o \ + $(JUCE_OBJDIR)/XMLandJSONDemo_5bc88df3.o \ + $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_box2d_95719d14.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \ + $(JUCE_OBJDIR)/juce_video_f128c512.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking JuceDemo - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning JuceDemo @$(CLEANCMD) strip: @echo Stripping JuceDemo - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MainWindow_499ac812.o: ../../Source/MainWindow.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MainWindow_499ac812.o: ../../Source/MainWindow.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MainWindow.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/IntroScreen_73347059.o: ../../Source/IntroScreen.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/IntroScreen_73347059.o: ../../Source/IntroScreen.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling IntroScreen.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/AnimationDemo_9fc7e4e9.o: ../../Source/Demos/AnimationDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/AnimationDemo_9fc7e4e9.o: ../../Source/Demos/AnimationDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling AnimationDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/AudioLatencyDemo_78d49233.o: ../../Source/Demos/AudioLatencyDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/AudioLatencyDemo_78d49233.o: ../../Source/Demos/AudioLatencyDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling AudioLatencyDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/AudioPlaybackDemo_ea12adf6.o: ../../Source/Demos/AudioPlaybackDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/AudioPlaybackDemo_ea12adf6.o: ../../Source/Demos/AudioPlaybackDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling AudioPlaybackDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/AudioRecordingDemo_435914e6.o: ../../Source/Demos/AudioRecordingDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/AudioRecordingDemo_435914e6.o: ../../Source/Demos/AudioRecordingDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling AudioRecordingDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/AudioSettingsDemo_6d710bfe.o: ../../Source/Demos/AudioSettingsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/AudioSettingsDemo_6d710bfe.o: ../../Source/Demos/AudioSettingsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling AudioSettingsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/AudioSynthesiserDemo_1b3666f6.o: ../../Source/Demos/AudioSynthesiserDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/AudioSynthesiserDemo_1b3666f6.o: ../../Source/Demos/AudioSynthesiserDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling AudioSynthesiserDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/Box2DDemo_51053c42.o: ../../Source/Demos/Box2DDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Box2DDemo_51053c42.o: ../../Source/Demos/Box2DDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Box2DDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/CameraDemo_a10f7e50.o: ../../Source/Demos/CameraDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/CameraDemo_a10f7e50.o: ../../Source/Demos/CameraDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling CameraDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/ChildProcessDemo_2c2b949e.o: ../../Source/Demos/ChildProcessDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/ChildProcessDemo_2c2b949e.o: ../../Source/Demos/ChildProcessDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling ChildProcessDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/CodeEditorDemo_d5c17a65.o: ../../Source/Demos/CodeEditorDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/CodeEditorDemo_d5c17a65.o: ../../Source/Demos/CodeEditorDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling CodeEditorDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/ComponentTransformsDemo_377f7889.o: ../../Source/Demos/ComponentTransformsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/ComponentTransformsDemo_377f7889.o: ../../Source/Demos/ComponentTransformsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling ComponentTransformsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/CryptographyDemo_232d46d7.o: ../../Source/Demos/CryptographyDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/CryptographyDemo_232d46d7.o: ../../Source/Demos/CryptographyDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling CryptographyDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/DialogsDemo_19d585d0.o: ../../Source/Demos/DialogsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/DialogsDemo_19d585d0.o: ../../Source/Demos/DialogsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling DialogsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/FontsDemo_6da1e5e9.o: ../../Source/Demos/FontsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/FontsDemo_6da1e5e9.o: ../../Source/Demos/FontsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling FontsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/GraphicsDemo_85142ef6.o: ../../Source/Demos/GraphicsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/GraphicsDemo_85142ef6.o: ../../Source/Demos/GraphicsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling GraphicsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/ImagesDemo_ecf13aa3.o: ../../Source/Demos/ImagesDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/ImagesDemo_ecf13aa3.o: ../../Source/Demos/ImagesDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling ImagesDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/JavaScript_d6e42eb5.o: ../../Source/Demos/JavaScript.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/JavaScript_d6e42eb5.o: ../../Source/Demos/JavaScript.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling JavaScript.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/KeyMappingsDemo_cf05c709.o: ../../Source/Demos/KeyMappingsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/KeyMappingsDemo_cf05c709.o: ../../Source/Demos/KeyMappingsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling KeyMappingsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/LiveConstantDemo_e3b18a9b.o: ../../Source/Demos/LiveConstantDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/LiveConstantDemo_e3b18a9b.o: ../../Source/Demos/LiveConstantDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling LiveConstantDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/LookAndFeelDemo_25c558a3.o: ../../Source/Demos/LookAndFeelDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/LookAndFeelDemo_25c558a3.o: ../../Source/Demos/LookAndFeelDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling LookAndFeelDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MDIDemo_c476c2d7.o: ../../Source/Demos/MDIDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MDIDemo_c476c2d7.o: ../../Source/Demos/MDIDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MDIDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MidiDemo_75ebc30c.o: ../../Source/Demos/MidiDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MidiDemo_75ebc30c.o: ../../Source/Demos/MidiDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MidiDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MultithreadingDemo_ff566eaa.o: ../../Source/Demos/MultithreadingDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MultithreadingDemo_ff566eaa.o: ../../Source/Demos/MultithreadingDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MultithreadingDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MultiTouch_595f3a2e.o: ../../Source/Demos/MultiTouch.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MultiTouch_595f3a2e.o: ../../Source/Demos/MultiTouch.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MultiTouch.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/NetworkingDemo_fbd1b19f.o: ../../Source/Demos/NetworkingDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/NetworkingDemo_fbd1b19f.o: ../../Source/Demos/NetworkingDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling NetworkingDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/OpenGLDemo_fdac55da.o: ../../Source/Demos/OpenGLDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/OpenGLDemo_fdac55da.o: ../../Source/Demos/OpenGLDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling OpenGLDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/OpenGLDemo2D_48eeadec.o: ../../Source/Demos/OpenGLDemo2D.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/OpenGLDemo2D_48eeadec.o: ../../Source/Demos/OpenGLDemo2D.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling OpenGLDemo2D.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/PropertiesDemo_8ff1a8de.o: ../../Source/Demos/PropertiesDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/PropertiesDemo_8ff1a8de.o: ../../Source/Demos/PropertiesDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling PropertiesDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/SystemInfoDemo_984acd28.o: ../../Source/Demos/SystemInfoDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/SystemInfoDemo_984acd28.o: ../../Source/Demos/SystemInfoDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling SystemInfoDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/TimersAndEventsDemo_f2656547.o: ../../Source/Demos/TimersAndEventsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/TimersAndEventsDemo_f2656547.o: ../../Source/Demos/TimersAndEventsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling TimersAndEventsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/UnitTestsDemo_5c21762.o: ../../Source/Demos/UnitTestsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/UnitTestsDemo_5c21762.o: ../../Source/Demos/UnitTestsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling UnitTestsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/ValueTreesDemo_9657d84f.o: ../../Source/Demos/ValueTreesDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/ValueTreesDemo_9657d84f.o: ../../Source/Demos/ValueTreesDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling ValueTreesDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/VideoDemo_b55a1560.o: ../../Source/Demos/VideoDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/VideoDemo_b55a1560.o: ../../Source/Demos/VideoDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling VideoDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/WebBrowserDemo_3df2dbdf.o: ../../Source/Demos/WebBrowserDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/WebBrowserDemo_3df2dbdf.o: ../../Source/Demos/WebBrowserDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling WebBrowserDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/WidgetsDemo_fb0454.o: ../../Source/Demos/WidgetsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/WidgetsDemo_fb0454.o: ../../Source/Demos/WidgetsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling WidgetsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/WindowsDemo_e8cfa428.o: ../../Source/Demos/WindowsDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/WindowsDemo_e8cfa428.o: ../../Source/Demos/WindowsDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling WindowsDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/XMLandJSONDemo_5bc88df3.o: ../../Source/Demos/XMLandJSONDemo.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/XMLandJSONDemo_5bc88df3.o: ../../Source/Demos/XMLandJSONDemo.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling XMLandJSONDemo.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling BinaryData.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_box2d_95719d14.o: ../../JuceLibraryCode/juce_box2d.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_box2d_95719d14.o: ../../JuceLibraryCode/juce_box2d.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_box2d.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_opengl.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/HelloWorld/Builds/Linux/Makefile b/examples/HelloWorld/Builds/Linux/Makefile index da1622d58e..9c09d22d56 100644 --- a/examples/HelloWorld/Builds/Linux/Makefile +++ b/examples/HelloWorld/Builds/Linux/Makefile @@ -4,115 +4,127 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := HelloWorld - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := HelloWorld - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/MainComponent_a6ffb4a5.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/MainComponent_a6ffb4a5.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking HelloWorld - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning HelloWorld @$(CLEANCMD) strip: @echo Stripping HelloWorld - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MainComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/MPETest/Builds/LinuxMakefile/Makefile b/examples/MPETest/Builds/LinuxMakefile/Makefile index 549c25af42..31ead7e6de 100644 --- a/examples/MPETest/Builds/LinuxMakefile/Makefile +++ b/examples/MPETest/Builds/LinuxMakefile/Makefile @@ -4,157 +4,169 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := MPETest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := MPETest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_opengl_cd70b4c2.o \ - $(OBJDIR)/juce_video_f128c512.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \ + $(JUCE_OBJDIR)/juce_video_f128c512.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking MPETest - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning MPETest @$(CLEANCMD) strip: @echo Stripping MPETest - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_opengl.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/MidiTest/Builds/LinuxMakefile/Makefile b/examples/MidiTest/Builds/LinuxMakefile/Makefile index 12b7004609..7e88d199f3 100644 --- a/examples/MidiTest/Builds/LinuxMakefile/Makefile +++ b/examples/MidiTest/Builds/LinuxMakefile/Makefile @@ -4,145 +4,157 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := MidiTest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := MidiTest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/MainComponent_a6ffb4a5.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/MainComponent_a6ffb4a5.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking MidiTest - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning MidiTest @$(CLEANCMD) strip: @echo Stripping MidiTest - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MainComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile b/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile index e95df255ac..b113dbc324 100644 --- a/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile +++ b/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile @@ -4,163 +4,175 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := JUCE\ Network\ Graphics\ Demo - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := JUCE\ Network\ Graphics\ Demo - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/BinaryData_ce4232d4.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_opengl_cd70b4c2.o \ - $(OBJDIR)/juce_osc_be4cee16.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \ + $(JUCE_OBJDIR)/juce_osc_be4cee16.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking JUCE Network Graphics Demo - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning JUCE Network Graphics Demo @$(CLEANCMD) strip: @echo Stripping JUCE Network Graphics Demo - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling BinaryData.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_opengl.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_osc.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/OSCMonitor/Builds/LinuxMakefile/Makefile b/examples/OSCMonitor/Builds/LinuxMakefile/Makefile index 40905c5373..dbca80add3 100644 --- a/examples/OSCMonitor/Builds/LinuxMakefile/Makefile +++ b/examples/OSCMonitor/Builds/LinuxMakefile/Makefile @@ -4,157 +4,169 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := OSCMonitor - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := OSCMonitor - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_opengl_cd70b4c2.o \ - $(OBJDIR)/juce_osc_be4cee16.o \ - $(OBJDIR)/juce_video_f128c512.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \ + $(JUCE_OBJDIR)/juce_osc_be4cee16.o \ + $(JUCE_OBJDIR)/juce_video_f128c512.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking OSCMonitor - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning OSCMonitor @$(CLEANCMD) strip: @echo Stripping OSCMonitor - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_opengl.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_osc.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/OSCReceiver/Builds/LinuxMakefile/Makefile b/examples/OSCReceiver/Builds/LinuxMakefile/Makefile index ee6a4fc0e3..2c0117832e 100644 --- a/examples/OSCReceiver/Builds/LinuxMakefile/Makefile +++ b/examples/OSCReceiver/Builds/LinuxMakefile/Makefile @@ -4,121 +4,133 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := OSCReceiver - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := OSCReceiver - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_osc_be4cee16.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_osc_be4cee16.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking OSCReceiver - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning OSCReceiver @$(CLEANCMD) strip: @echo Stripping OSCReceiver - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_osc.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/OSCSender/Builds/LinuxMakefile/Makefile b/examples/OSCSender/Builds/LinuxMakefile/Makefile index 7f0f27a315..1600076d3d 100644 --- a/examples/OSCSender/Builds/LinuxMakefile/Makefile +++ b/examples/OSCSender/Builds/LinuxMakefile/Makefile @@ -4,109 +4,121 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := OSCSender - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := OSCSender - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_osc_be4cee16.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_osc_be4cee16.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking OSCSender - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning OSCSender @$(CLEANCMD) strip: @echo Stripping OSCSender - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_osc.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile b/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile index f3d05d2d5b..6f79d67969 100644 --- a/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile +++ b/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile @@ -4,163 +4,175 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0 -Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -Wl,--no-undefined -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I$(HOME)/SDKs/VST3\ SDK -I../../JuceLibraryCode -I../../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0 -Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -Wl,--no-undefined -shared -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := Surround.so - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -fPIC -O3 -Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -Wl,--no-undefined -shared -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I$(HOME)/SDKs/VST3\ SDK -I../../JuceLibraryCode -I../../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -fPIC -O3 -Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -Wl,--no-undefined -shared -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := Surround.so - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/SurroundProcessor_c7ed9c55.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o \ - $(OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_opengl_cd70b4c2.o \ - $(OBJDIR)/juce_video_f128c512.o \ + $(JUCE_OBJDIR)/SurroundProcessor_c7ed9c55.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o \ + $(JUCE_OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \ + $(JUCE_OBJDIR)/juce_video_f128c512.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking Surround - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning Surround @$(CLEANCMD) strip: @echo Stripping Surround - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/SurroundProcessor_c7ed9c55.o: ../../Source/SurroundProcessor.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/SurroundProcessor_c7ed9c55.o: ../../Source/SurroundProcessor.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling SurroundProcessor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o: ../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o: ../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_plugin_client_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o: ../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o: ../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_plugin_client_VST2.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_opengl.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/audio plugin demo/Builds/Linux/Makefile b/examples/audio plugin demo/Builds/Linux/Makefile index fa163ac657..9725e870b1 100644 --- a/examples/audio plugin demo/Builds/Linux/Makefile +++ b/examples/audio plugin demo/Builds/Linux/Makefile @@ -4,157 +4,169 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -Wl,--no-undefined -shared -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I$(HOME)/SDKs/VST3\ SDK -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -Wl,--no-undefined -shared -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := JuceDemoPlugin.so - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -fPIC -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -Wl,--no-undefined -shared -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I$(HOME)/SDKs/VST3\ SDK -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -fPIC -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -Wl,--no-undefined -shared -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := JuceDemoPlugin.so - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/PluginEditor_94d4fb09.o \ - $(OBJDIR)/PluginProcessor_a059e380.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o \ - $(OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/PluginEditor_94d4fb09.o \ + $(JUCE_OBJDIR)/PluginProcessor_a059e380.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o \ + $(JUCE_OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking JuceDemoPlugin - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning JuceDemoPlugin @$(CLEANCMD) strip: @echo Stripping JuceDemoPlugin - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/PluginEditor_94d4fb09.o: ../../Source/PluginEditor.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/PluginEditor_94d4fb09.o: ../../Source/PluginEditor.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling PluginEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/PluginProcessor_a059e380.o: ../../Source/PluginProcessor.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/PluginProcessor_a059e380.o: ../../Source/PluginProcessor.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling PluginProcessor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o: ../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o: ../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_plugin_client_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o: ../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o: ../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_plugin_client_VST2.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/examples/audio plugin host/Builds/Linux/Makefile b/examples/audio plugin host/Builds/Linux/Makefile index 2257e6f557..06bdf5eee9 100644 --- a/examples/audio plugin host/Builds/Linux/Makefile +++ b/examples/audio plugin host/Builds/Linux/Makefile @@ -4,181 +4,193 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I$(HOME)/SDKs/VST3\ SDK -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := Plugin\ Host - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I$(HOME)/SDKs/VST3\ SDK -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := Plugin\ Host - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/FilterGraph_62e9c017.o \ - $(OBJDIR)/GraphEditorPanel_3dbd4872.o \ - $(OBJDIR)/HostStartup_5ce96f96.o \ - $(OBJDIR)/InternalFilters_beb54bdf.o \ - $(OBJDIR)/MainHostWindow_e920295a.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_opengl_cd70b4c2.o \ - $(OBJDIR)/juce_video_f128c512.o \ + $(JUCE_OBJDIR)/FilterGraph_62e9c017.o \ + $(JUCE_OBJDIR)/GraphEditorPanel_3dbd4872.o \ + $(JUCE_OBJDIR)/HostStartup_5ce96f96.o \ + $(JUCE_OBJDIR)/InternalFilters_beb54bdf.o \ + $(JUCE_OBJDIR)/MainHostWindow_e920295a.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \ + $(JUCE_OBJDIR)/juce_video_f128c512.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking Plugin Host - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning Plugin Host @$(CLEANCMD) strip: @echo Stripping Plugin Host - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/FilterGraph_62e9c017.o: ../../Source/FilterGraph.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/FilterGraph_62e9c017.o: ../../Source/FilterGraph.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling FilterGraph.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/GraphEditorPanel_3dbd4872.o: ../../Source/GraphEditorPanel.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/GraphEditorPanel_3dbd4872.o: ../../Source/GraphEditorPanel.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling GraphEditorPanel.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/HostStartup_5ce96f96.o: ../../Source/HostStartup.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/HostStartup_5ce96f96.o: ../../Source/HostStartup.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling HostStartup.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/InternalFilters_beb54bdf.o: ../../Source/InternalFilters.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/InternalFilters_beb54bdf.o: ../../Source/InternalFilters.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling InternalFilters.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/MainHostWindow_e920295a.o: ../../Source/MainHostWindow.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/MainHostWindow_e920295a.o: ../../Source/MainHostWindow.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling MainHostWindow.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_opengl.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile index adb768928e..86ac13bd2a 100644 --- a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile +++ b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile @@ -4,139 +4,151 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := AudioPerformanceTest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := AudioPerformanceTest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_audio_utils_c7eb679f.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking AudioPerformanceTest - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning AudioPerformanceTest @$(CLEANCMD) strip: @echo Stripping AudioPerformanceTest - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile index dd33a82640..76e5148d4d 100644 --- a/extras/Projucer/Builds/LinuxMakefile/Makefile +++ b/extras/Projucer/Builds/LinuxMakefile/Makefile @@ -4,397 +4,409 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.2.3 -DJUCE_APP_VERSION_HEX=0x40203 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=c++11 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt -lcurl + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.2.3 -DJUCE_APP_VERSION_HEX=0x40203 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=c++11 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := Projucer - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.2.3 -DJUCE_APP_VERSION_HEX=0x40203 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 -std=c++11 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt -lcurl + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.2.3 -DJUCE_APP_VERSION_HEX=0x40203 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 -std=c++11 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt TARGET := Projucer - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/jucer_AppearanceSettings_788d9889.o \ - $(OBJDIR)/jucer_AutoUpdater_ca658dc2.o \ - $(OBJDIR)/jucer_CommandLine_f35de107.o \ - $(OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o \ - $(OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o \ - $(OBJDIR)/jucer_Main_f8488f5b.o \ - $(OBJDIR)/jucer_MainWindow_1e163aeb.o \ - $(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o \ - $(OBJDIR)/projucer_CompileEngineClient_542e6b2d.o \ - $(OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o \ - $(OBJDIR)/jucer_SourceCodeEditor_461f5487.o \ - $(OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o \ - $(OBJDIR)/jucer_ButtonDocument_56c341cc.o \ - $(OBJDIR)/jucer_ComponentDocument_92868083.o \ - $(OBJDIR)/jucer_ColouredElement_70cbc839.o \ - $(OBJDIR)/jucer_PaintElement_653460.o \ - $(OBJDIR)/jucer_PaintElementPath_908894a5.o \ - $(OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o \ - $(OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o \ - $(OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o \ - $(OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o \ - $(OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o \ - $(OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o \ - $(OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o \ - $(OBJDIR)/jucer_TestComponent_db757dc4.o \ - $(OBJDIR)/jucer_BinaryResources_e0f99b46.o \ - $(OBJDIR)/jucer_ComponentLayout_6ea00129.o \ - $(OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o \ - $(OBJDIR)/jucer_JucerDocument_ff8afcc2.o \ - $(OBJDIR)/jucer_ObjectTypes_4406f01c.o \ - $(OBJDIR)/jucer_PaintRoutine_e1e891ee.o \ - $(OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o \ - $(OBJDIR)/jucer_Module_3f7666a5.o \ - $(OBJDIR)/jucer_Project_c131864a.o \ - $(OBJDIR)/jucer_ProjectExporter_eefe2e5b.o \ - $(OBJDIR)/jucer_ProjectSaver_38b16c25.o \ - $(OBJDIR)/jucer_ResourceFile_6af120d3.o \ - $(OBJDIR)/jucer_CodeHelpers_c317179c.o \ - $(OBJDIR)/jucer_FileHelpers_f98ed0ad.o \ - $(OBJDIR)/jucer_Icons_9db2f51e.o \ - $(OBJDIR)/jucer_JucerTreeViewBase_d043309d.o \ - $(OBJDIR)/jucer_MiscUtilities_25b68c82.o \ - $(OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o \ - $(OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o \ - $(OBJDIR)/jucer_StoredSettings_26078d2c.o \ - $(OBJDIR)/jucer_NewFileWizard_fac97f47.o \ - $(OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o \ - $(OBJDIR)/BinaryData_ce4232d4.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/jucer_AppearanceSettings_788d9889.o \ + $(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o \ + $(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o \ + $(JUCE_OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o \ + $(JUCE_OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o \ + $(JUCE_OBJDIR)/jucer_Main_f8488f5b.o \ + $(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o \ + $(JUCE_OBJDIR)/jucer_OpenDocumentManager_4c72d210.o \ + $(JUCE_OBJDIR)/projucer_CompileEngineClient_542e6b2d.o \ + $(JUCE_OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o \ + $(JUCE_OBJDIR)/jucer_SourceCodeEditor_461f5487.o \ + $(JUCE_OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o \ + $(JUCE_OBJDIR)/jucer_ButtonDocument_56c341cc.o \ + $(JUCE_OBJDIR)/jucer_ComponentDocument_92868083.o \ + $(JUCE_OBJDIR)/jucer_ColouredElement_70cbc839.o \ + $(JUCE_OBJDIR)/jucer_PaintElement_653460.o \ + $(JUCE_OBJDIR)/jucer_PaintElementPath_908894a5.o \ + $(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o \ + $(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o \ + $(JUCE_OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o \ + $(JUCE_OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o \ + $(JUCE_OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o \ + $(JUCE_OBJDIR)/jucer_TestComponent_db757dc4.o \ + $(JUCE_OBJDIR)/jucer_BinaryResources_e0f99b46.o \ + $(JUCE_OBJDIR)/jucer_ComponentLayout_6ea00129.o \ + $(JUCE_OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o \ + $(JUCE_OBJDIR)/jucer_JucerDocument_ff8afcc2.o \ + $(JUCE_OBJDIR)/jucer_ObjectTypes_4406f01c.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o \ + $(JUCE_OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o \ + $(JUCE_OBJDIR)/jucer_Module_3f7666a5.o \ + $(JUCE_OBJDIR)/jucer_Project_c131864a.o \ + $(JUCE_OBJDIR)/jucer_ProjectExporter_eefe2e5b.o \ + $(JUCE_OBJDIR)/jucer_ProjectSaver_38b16c25.o \ + $(JUCE_OBJDIR)/jucer_ResourceFile_6af120d3.o \ + $(JUCE_OBJDIR)/jucer_CodeHelpers_c317179c.o \ + $(JUCE_OBJDIR)/jucer_FileHelpers_f98ed0ad.o \ + $(JUCE_OBJDIR)/jucer_Icons_9db2f51e.o \ + $(JUCE_OBJDIR)/jucer_JucerTreeViewBase_d043309d.o \ + $(JUCE_OBJDIR)/jucer_MiscUtilities_25b68c82.o \ + $(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o \ + $(JUCE_OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o \ + $(JUCE_OBJDIR)/jucer_StoredSettings_26078d2c.o \ + $(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o \ + $(JUCE_OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o \ + $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking Projucer - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning Projucer @$(CLEANCMD) strip: @echo Stripping Projucer - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/jucer_AppearanceSettings_788d9889.o: ../../Source/Application/jucer_AppearanceSettings.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_AppearanceSettings_788d9889.o: ../../Source/Application/jucer_AppearanceSettings.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_AppearanceSettings.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_AutoUpdater_ca658dc2.o: ../../Source/Application/jucer_AutoUpdater.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o: ../../Source/Application/jucer_AutoUpdater.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_AutoUpdater.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_CommandLine.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_CommandLine.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_CommandLine.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o: ../../Source/Application/jucer_DocumentEditorComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o: ../../Source/Application/jucer_DocumentEditorComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_DocumentEditorComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o: ../../Source/Application/jucer_GlobalPreferences.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o: ../../Source/Application/jucer_GlobalPreferences.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_GlobalPreferences.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_Main_f8488f5b.o: ../../Source/Application/jucer_Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_Main_f8488f5b.o: ../../Source/Application/jucer_Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_MainWindow_1e163aeb.o: ../../Source/Application/jucer_MainWindow.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o: ../../Source/Application/jucer_MainWindow.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_MainWindow.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o: ../../Source/Application/jucer_OpenDocumentManager.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_OpenDocumentManager_4c72d210.o: ../../Source/Application/jucer_OpenDocumentManager.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_OpenDocumentManager.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/projucer_CompileEngineClient_542e6b2d.o: ../../Source/LiveBuildEngine/projucer_CompileEngineClient.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/projucer_CompileEngineClient_542e6b2d.o: ../../Source/LiveBuildEngine/projucer_CompileEngineClient.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling projucer_CompileEngineClient.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o: ../../Source/LiveBuildEngine/projucer_CompileEngineServer.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o: ../../Source/LiveBuildEngine/projucer_CompileEngineServer.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling projucer_CompileEngineServer.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_SourceCodeEditor_461f5487.o: ../../Source/Code\ Editor/jucer_SourceCodeEditor.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_SourceCodeEditor_461f5487.o: ../../Source/Code\ Editor/jucer_SourceCodeEditor.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_SourceCodeEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o: ../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o: ../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentTypeHandler.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ButtonDocument_56c341cc.o: ../../Source/ComponentEditor/documents/jucer_ButtonDocument.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ButtonDocument_56c341cc.o: ../../Source/ComponentEditor/documents/jucer_ButtonDocument.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ButtonDocument.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ComponentDocument_92868083.o: ../../Source/ComponentEditor/documents/jucer_ComponentDocument.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ComponentDocument_92868083.o: ../../Source/ComponentEditor/documents/jucer_ComponentDocument.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentDocument.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ColouredElement_70cbc839.o: ../../Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ColouredElement_70cbc839.o: ../../Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ColouredElement.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_PaintElement_653460.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElement.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_PaintElement_653460.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElement.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintElement.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_PaintElementPath_908894a5.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_PaintElementPath_908894a5.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintElementPath.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o: ../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o: ../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentLayoutEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o: ../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o: ../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentOverlayComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o: ../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o: ../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_EditingPanelBase.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o: ../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o: ../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_JucerDocumentEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintRoutineEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintRoutinePanel.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o: ../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o: ../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ResourceEditorPanel.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_TestComponent_db757dc4.o: ../../Source/ComponentEditor/ui/jucer_TestComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_TestComponent_db757dc4.o: ../../Source/ComponentEditor/ui/jucer_TestComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_TestComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_BinaryResources_e0f99b46.o: ../../Source/ComponentEditor/jucer_BinaryResources.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_BinaryResources_e0f99b46.o: ../../Source/ComponentEditor/jucer_BinaryResources.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_BinaryResources.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ComponentLayout_6ea00129.o: ../../Source/ComponentEditor/jucer_ComponentLayout.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ComponentLayout_6ea00129.o: ../../Source/ComponentEditor/jucer_ComponentLayout.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentLayout.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o: ../../Source/ComponentEditor/jucer_GeneratedCode.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o: ../../Source/ComponentEditor/jucer_GeneratedCode.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_GeneratedCode.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_JucerDocument_ff8afcc2.o: ../../Source/ComponentEditor/jucer_JucerDocument.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_JucerDocument_ff8afcc2.o: ../../Source/ComponentEditor/jucer_JucerDocument.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_JucerDocument.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ObjectTypes_4406f01c.o: ../../Source/ComponentEditor/jucer_ObjectTypes.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ObjectTypes_4406f01c.o: ../../Source/ComponentEditor/jucer_ObjectTypes.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ObjectTypes.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_PaintRoutine_e1e891ee.o: ../../Source/ComponentEditor/jucer_PaintRoutine.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o: ../../Source/ComponentEditor/jucer_PaintRoutine.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintRoutine.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o: ../../Source/Project/jucer_DependencyPathPropertyComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o: ../../Source/Project/jucer_DependencyPathPropertyComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_DependencyPathPropertyComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_Module_3f7666a5.o: ../../Source/Project/jucer_Module.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_Module_3f7666a5.o: ../../Source/Project/jucer_Module.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_Module.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_Project_c131864a.o: ../../Source/Project/jucer_Project.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_Project_c131864a.o: ../../Source/Project/jucer_Project.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_Project.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ProjectExporter_eefe2e5b.o: ../../Source/Project\ Saving/jucer_ProjectExporter.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ProjectExporter_eefe2e5b.o: ../../Source/Project\ Saving/jucer_ProjectExporter.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ProjectExporter.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ProjectSaver_38b16c25.o: ../../Source/Project\ Saving/jucer_ProjectSaver.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ProjectSaver_38b16c25.o: ../../Source/Project\ Saving/jucer_ProjectSaver.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ProjectSaver.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ResourceFile_6af120d3.o: ../../Source/Project\ Saving/jucer_ResourceFile.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ResourceFile_6af120d3.o: ../../Source/Project\ Saving/jucer_ResourceFile.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ResourceFile.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_CodeHelpers_c317179c.o: ../../Source/Utility/jucer_CodeHelpers.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_CodeHelpers_c317179c.o: ../../Source/Utility/jucer_CodeHelpers.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_CodeHelpers.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_FileHelpers_f98ed0ad.o: ../../Source/Utility/jucer_FileHelpers.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_FileHelpers_f98ed0ad.o: ../../Source/Utility/jucer_FileHelpers.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_FileHelpers.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_Icons_9db2f51e.o: ../../Source/Utility/jucer_Icons.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_Icons_9db2f51e.o: ../../Source/Utility/jucer_Icons.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_Icons.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_JucerTreeViewBase_d043309d.o: ../../Source/Utility/jucer_JucerTreeViewBase.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_JucerTreeViewBase_d043309d.o: ../../Source/Utility/jucer_JucerTreeViewBase.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_JucerTreeViewBase.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_MiscUtilities_25b68c82.o: ../../Source/Utility/jucer_MiscUtilities.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_MiscUtilities_25b68c82.o: ../../Source/Utility/jucer_MiscUtilities.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_MiscUtilities.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o: ../../Source/Utility/jucer_ProjucerLookAndFeel.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o: ../../Source/Utility/jucer_ProjucerLookAndFeel.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ProjucerLookAndFeel.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o: ../../Source/Utility/jucer_SlidingPanelComponent.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o: ../../Source/Utility/jucer_SlidingPanelComponent.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_SlidingPanelComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_StoredSettings_26078d2c.o: ../../Source/Utility/jucer_StoredSettings.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_StoredSettings_26078d2c.o: ../../Source/Utility/jucer_StoredSettings.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_StoredSettings.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_NewFileWizard_fac97f47.o: ../../Source/Wizards/jucer_NewFileWizard.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o: ../../Source/Wizards/jucer_NewFileWizard.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_NewFileWizard.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o: ../../Source/Wizards/jucer_NewProjectWizardClasses.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o: ../../Source/Wizards/jucer_NewProjectWizardClasses.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_NewProjectWizardClasses.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling BinaryData.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/extras/Projucer/Projucer.jucer b/extras/Projucer/Projucer.jucer index 5fc7dd25ad..02a1ce8eb9 100644 --- a/extras/Projucer/Projucer.jucer +++ b/extras/Projucer/Projucer.jucer @@ -70,10 +70,10 @@ - - + + @@ -626,5 +626,6 @@ + diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h index 4a43c7903f..e4f94e9e2e 100644 --- a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h @@ -29,6 +29,9 @@ public: static const char* getNameLinux() { return "Linux Makefile"; } static const char* getValueTreeTypeName() { return "LINUX_MAKE"; } + Value getExtraPkgConfig() { return getSetting (Ids::linuxExtraPkgConfig); } + String getExtraPkgConfigString() const { return getSettingString (Ids::linuxExtraPkgConfig); } + static MakefileProjectExporter* createForSettings (Project& project, const ValueTree& settings) { if (settings.hasType (getValueTreeTypeName())) @@ -90,6 +93,9 @@ public: StringArray (cppStandardNames), Array (cppStandardValues)), "The C++ standard to specify in the makefile"); + + properties.add (new TextPropertyComponent (getExtraPkgConfig(), "pkg-config libraries", 8192, false), + "Extra pkg-config libraries for you application. Each package should be space separated."); } //============================================================================== @@ -126,7 +132,6 @@ protected: MakeBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) : BuildConfiguration (p, settings, e) { - setValueIfVoid (getLibrarySearchPathValue(), "/usr/X11R6/lib/"); } Value getArchitectureType() { return getValue (Ids::linuxArchitecture); } @@ -191,18 +196,36 @@ private: StringArray searchPaths (extraSearchPaths); searchPaths.addArray (config.getHeaderSearchPaths()); - searchPaths.insert (0, "/usr/include/freetype2"); - searchPaths.insert (0, "/usr/include"); + StringArray packages; + packages.addTokens (getExtraPkgConfigString(), " ", "\"'"); + packages.removeEmptyStrings(); + + if (linuxPackages.size() > 0 || packages.size() > 0) + { + out << " $(shell pkg-config --cflags"; + + for (int i = 0; i < linuxPackages.size(); ++i) + out << " " << linuxPackages[i]; + + for (int i = 0; i < packages.size(); ++i) + out << " " << packages[i]; + + out << ")"; + } + + if (linuxLibs.contains("pthread")) + out << " -pthread"; searchPaths = getCleanedStringArray (searchPaths); + // Replace ~ character with $(HOME) environment variable for (int i = 0; i < searchPaths.size(); ++i) - out << " -I " << escapeSpaces (FileHelpers::unixStylePath (replacePreprocessorTokens (config, searchPaths[i]))); + out << " -I" << escapeSpaces (FileHelpers::unixStylePath (replacePreprocessorTokens (config, searchPaths[i]))).replace ("~", "$(HOME)"); } void writeCppFlags (OutputStream& out, const BuildConfiguration& config) const { - out << " CPPFLAGS := $(DEPFLAGS)"; + out << " JUCE_CPPFLAGS := $(DEPFLAGS)"; writeDefineFlags (out, config); writeHeaderPathFlags (out, config); out << newLine; @@ -210,7 +233,7 @@ private: void writeLinkerFlags (OutputStream& out, const BuildConfiguration& config) const { - out << " LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR)"; + out << " JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR)"; { StringArray flags (makefileExtraLinkerFlags); @@ -227,12 +250,26 @@ private: out << config.getGCCLibraryPathFlags(); + StringArray packages; + packages.addTokens (getExtraPkgConfigString(), " ", "\"'"); + packages.removeEmptyStrings(); + + if (linuxPackages.size() > 0 || packages.size() > 0) + { + out << " $(shell pkg-config --libs"; + + for (int i = 0; i < linuxPackages.size(); ++i) + out << " " << linuxPackages[i]; + + for (int i = 0; i < packages.size(); ++i) + out << " " << packages[i]; + + out << ")"; + } + for (int i = 0; i < linuxLibs.size(); ++i) out << " -l" << linuxLibs[i]; - if (getProject().isConfigFlagEnabled ("JUCE_USE_CURL")) - out << " -lcurl"; - StringArray libraries; libraries.addTokens (getExternalLibrariesString(), ";", "\"'"); libraries.removeEmptyStrings(); @@ -257,10 +294,10 @@ private: } out << "ifeq ($(CONFIG)," << escapeSpaces (config.getName()) << ")" << newLine; - out << " BINDIR := " << escapeSpaces (buildDirName) << newLine - << " LIBDIR := " << escapeSpaces (buildDirName) << newLine - << " OBJDIR := " << escapeSpaces (intermediatesDirName) << newLine - << " OUTDIR := " << escapeSpaces (outputDir) << newLine + out << " JUCE_BINDIR := " << escapeSpaces (buildDirName) << newLine + << " JUCE_LIBDIR := " << escapeSpaces (buildDirName) << newLine + << " JUCE_OBJDIR := " << escapeSpaces (intermediatesDirName) << newLine + << " JUCE_OUTDIR := " << escapeSpaces (outputDir) << newLine << newLine << " ifeq ($(TARGET_ARCH),)" << newLine << " TARGET_ARCH := " << getArchFlags (config) << newLine @@ -269,7 +306,7 @@ private: writeCppFlags (out, config); - out << " CFLAGS += $(CPPFLAGS) $(TARGET_ARCH)"; + out << " JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH)"; if (config.isDebug()) out << " -g -ggdb"; @@ -286,7 +323,7 @@ private: if (cppStandardToUse.isEmpty()) cppStandardToUse = "-std=c++11"; - out << " CXXFLAGS += $(CFLAGS) " + out << " JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) " << cppStandardToUse << newLine; @@ -304,11 +341,11 @@ private: out << " TARGET := " << escapeSpaces (targetName) << newLine; if (projectType.isStaticLibrary()) - out << " BLDCMD = ar -rcs $(OUTDIR)/$(TARGET) $(OBJECTS)" << newLine; + out << " BLDCMD = $(AR) -rcs $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS)" << newLine; else - out << " BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)" << newLine; + out << " BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)" << newLine; - out << " CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)" << newLine + out << " CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)" << newLine << "endif" << newLine << newLine; } @@ -319,7 +356,7 @@ private: for (int i = 0; i < files.size(); ++i) if (shouldFileBeCompiledByDefault (files.getReference(i))) - out << " $(OBJDIR)/" << escapeSpaces (getObjectFileFor (files.getReference(i))) << " \\" << newLine; + out << " $(JUCE_OBJDIR)/" << escapeSpaces (getObjectFileFor (files.getReference(i))) << " \\" << newLine; out << newLine; } @@ -334,6 +371,16 @@ private: << "DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)" << newLine << newLine; + out << "ifndef STRIP" << newLine + << " STRIP=strip" << newLine + << "endif" << newLine + << newLine; + + out << "ifndef AR" << newLine + << " AR=ar" << newLine + << "endif" << newLine + << newLine; + out << "ifndef CONFIG" << newLine << " CONFIG=" << escapeSpaces (getConfiguration(0)->getName()) << newLine << "endif" << newLine @@ -347,14 +394,39 @@ private: out << ".PHONY: clean" << newLine << newLine; - out << "$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES)" << newLine + StringArray packages; + packages.addTokens (getExtraPkgConfigString(), " ", "\"'"); + packages.removeEmptyStrings(); + + bool useLinuxPackages = (linuxPackages.size() > 0 || packages.size() > 0); + + out << "$(JUCE_OUTDIR)/$(TARGET): " + << ((useLinuxPackages) ? "check-pkg-config " : "") + << "$(OBJECTS) $(RESOURCES)" << newLine << "\t@echo Linking " << projectName << newLine - << "\t-@mkdir -p $(BINDIR)" << newLine - << "\t-@mkdir -p $(LIBDIR)" << newLine - << "\t-@mkdir -p $(OUTDIR)" << newLine + << "\t-@mkdir -p $(JUCE_BINDIR)" << newLine + << "\t-@mkdir -p $(JUCE_LIBDIR)" << newLine + << "\t-@mkdir -p $(JUCE_OUTDIR)" << newLine << "\t@$(BLDCMD)" << newLine << newLine; + if (useLinuxPackages) + { + out << "check-pkg-config:" << newLine + << "\t@command -v pkg-config >/dev/null 2>&1 || " + "{ echo >&2 \"pkg-config not installed. Please, install it.\"; " + "exit 1; }" << newLine + << "\t@pkg-config --print-errors"; + + for (int i = 0; i < linuxPackages.size(); ++i) + out << " " << linuxPackages[i]; + + for (int i = 0; i < packages.size(); ++i) + out << " " << packages[i]; + + out << newLine << newLine; + } + out << "clean:" << newLine << "\t@echo Cleaning " << projectName << newLine << "\t@$(CLEANCMD)" << newLine @@ -362,7 +434,7 @@ private: out << "strip:" << newLine << "\t@echo Stripping " << projectName << newLine - << "\t-@strip --strip-unneeded $(OUTDIR)/$(TARGET)" << newLine + << "\t-@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)" << newLine << newLine; for (int i = 0; i < files.size(); ++i) @@ -371,12 +443,12 @@ private: { jassert (files.getReference(i).getRoot() == RelativePath::buildTargetFolder); - out << "$(OBJDIR)/" << escapeSpaces (getObjectFileFor (files.getReference(i))) + out << "$(JUCE_OBJDIR)/" << escapeSpaces (getObjectFileFor (files.getReference(i))) << ": " << escapeSpaces (files.getReference(i).toUnixStyle()) << newLine - << "\t-@mkdir -p $(OBJDIR)" << newLine + << "\t-@mkdir -p $(JUCE_OBJDIR)" << newLine << "\t@echo \"Compiling " << files.getReference(i).getFileName() << "\"" << newLine - << (files.getReference(i).hasFileExtension ("c;s;S") ? "\t@$(CC) $(CFLAGS) -o \"$@\" -c \"$<\"" - : "\t@$(CXX) $(CXXFLAGS) -o \"$@\" -c \"$<\"") + << (files.getReference(i).hasFileExtension ("c;s;S") ? "\t@$(CC) $(JUCE_CFLAGS) -o \"$@\" -c \"$<\"" + : "\t@$(CXX) $(JUCE_CXXFLAGS) -o \"$@\" -c \"$<\"") << newLine << newLine; } } diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp index faa0934f6e..2257e3025b 100644 --- a/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp @@ -831,7 +831,7 @@ String ProjectExporter::BuildConfiguration::getGCCLibraryPathFlags() const const StringArray libraryPaths (getLibrarySearchPaths()); for (int i = 0; i < libraryPaths.size(); ++i) - s << " -L" << escapeSpaces (libraryPaths[i]); + s << " -L" << escapeSpaces (libraryPaths[i]).replace ("~", "$(HOME)"); return s; } diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h index b99519ded2..15c85d744d 100644 --- a/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h @@ -189,7 +189,7 @@ public: //============================================================================== String makefileTargetSuffix; bool makefileIsDLL; - StringArray linuxLibs, makefileExtraLinkerFlags; + StringArray linuxLibs, linuxPackages, makefileExtraLinkerFlags; //============================================================================== String msvcTargetSuffix; diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h index 4d5307ebac..3c4255f3db 100644 --- a/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h @@ -432,8 +432,11 @@ private: out << " #define " << f->symbol << " 1"; else if (value == Project::configFlagDisabled) out << " #define " << f->symbol << " 0"; - else + else if (f->defaultValue.isEmpty()) out << " //#define " << f->symbol; + else + out << " #define " << f->symbol << " " << f->defaultValue; + out << newLine << "#endif" << newLine diff --git a/extras/Projucer/Source/Project/jucer_Module.cpp b/extras/Projucer/Source/Project/jucer_Module.cpp index ff59f9f0f4..5ee67e1dbf 100644 --- a/extras/Projucer/Source/Project/jucer_Module.cpp +++ b/extras/Projucer/Source/Project/jucer_Module.cpp @@ -338,6 +338,7 @@ void LibraryModule::addSettingsForModuleToExporter (ProjectExporter& exporter, P else if (exporter.isLinux()) { parseAndAddLibs (exporter.linuxLibs, moduleInfo.moduleInfo ["linuxLibs"].toString()); + parseAndAddLibs (exporter.linuxPackages, moduleInfo.moduleInfo ["linuxPackages"].toString()); } else if (exporter.isCodeBlocks() && exporter.isWindows()) { diff --git a/extras/Projucer/Source/Project/jucer_Module.h b/extras/Projucer/Source/Project/jucer_Module.h index 49d2037088..3c6c524a83 100644 --- a/extras/Projucer/Source/Project/jucer_Module.h +++ b/extras/Projucer/Source/Project/jucer_Module.h @@ -118,6 +118,7 @@ public: private: mutable Array sourceFiles; + OwnedArray configFlags; void addBrowseableCode (ProjectExporter&, const Array& compiled, const File& localModuleFolder) const; }; diff --git a/extras/Projucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h index f923408c8b..f0ac122aab 100644 --- a/extras/Projucer/Source/Project/jucer_Project.h +++ b/extras/Projucer/Source/Project/jucer_Project.h @@ -278,13 +278,14 @@ public: //============================================================================== struct ConfigFlag { - String symbol, description, sourceModuleID; + String symbol, description, sourceModuleID, defaultValue; Value value; // 1 = true, 2 = false, anything else = use default }; static const char* const configFlagDefault; static const char* const configFlagEnabled; static const char* const configFlagDisabled; + Value getConfigFlag (const String& name); bool isConfigFlagEnabled (const String& name) const; diff --git a/extras/Projucer/Source/Utility/jucer_PresetIDs.h b/extras/Projucer/Source/Utility/jucer_PresetIDs.h index f9203f3323..0d60ce1127 100644 --- a/extras/Projucer/Source/Utility/jucer_PresetIDs.h +++ b/extras/Projucer/Source/Utility/jucer_PresetIDs.h @@ -177,6 +177,7 @@ namespace Ids DECLARE_ID (gradleWrapperVersion); DECLARE_ID (gradleToolchain); DECLARE_ID (gradleToolchainVersion); + DECLARE_ID (linuxExtraPkgConfig); DECLARE_ID (font); DECLARE_ID (colour); DECLARE_ID (userNotes); diff --git a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile index 68cd0d738b..99761d265c 100644 --- a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile +++ b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile @@ -4,157 +4,169 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := UnitTestRunner - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt TARGET := UnitTestRunner - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_6b797ca1.o \ - $(OBJDIR)/juce_audio_devices_a742c38b.o \ - $(OBJDIR)/juce_audio_formats_5a29c68a.o \ - $(OBJDIR)/juce_audio_processors_dea3173d.o \ - $(OBJDIR)/juce_core_75b14332.o \ - $(OBJDIR)/juce_cryptography_6de2ebff.o \ - $(OBJDIR)/juce_data_structures_72d3da2c.o \ - $(OBJDIR)/juce_events_d2be882c.o \ - $(OBJDIR)/juce_graphics_9c18891e.o \ - $(OBJDIR)/juce_gui_basics_8a6da59c.o \ - $(OBJDIR)/juce_gui_extra_4a026f23.o \ - $(OBJDIR)/juce_opengl_cd70b4c2.o \ - $(OBJDIR)/juce_osc_be4cee16.o \ - $(OBJDIR)/juce_video_f128c512.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \ + $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o \ + $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \ + $(JUCE_OBJDIR)/juce_events_d2be882c.o \ + $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \ + $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \ + $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \ + $(JUCE_OBJDIR)/juce_osc_be4cee16.o \ + $(JUCE_OBJDIR)/juce_video_f128c512.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking UnitTestRunner - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama + clean: @echo Cleaning UnitTestRunner @$(CLEANCMD) strip: @echo Stripping UnitTestRunner - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_devices.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_formats.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_audio_processors.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_cryptography.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_events.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_graphics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_basics.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_opengl.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_osc.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/extras/binarybuilder/Builds/Linux/Makefile b/extras/binarybuilder/Builds/Linux/Makefile index 2e152dae8b..8fd346f614 100644 --- a/extras/binarybuilder/Builds/Linux/Makefile +++ b/extras/binarybuilder/Builds/Linux/Makefile @@ -4,79 +4,91 @@ # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + ifndef CONFIG CONFIG=Debug endif ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -ldl -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs libcurl) -ldl -lpthread -lrt TARGET := BinaryBuilder - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build ifeq ($(TARGET_ARCH),) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os - CXXFLAGS += $(CFLAGS) -std=c++11 - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -ldl -lpthread -lrt + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules + JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os + JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11 + JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ $(shell pkg-config --libs libcurl) -ldl -lpthread -lrt TARGET := BinaryBuilder - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif OBJECTS := \ - $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_core_75b14332.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/juce_core_75b14332.o \ .PHONY: clean -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) +$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES) @echo Linking BinaryBuilder - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) + -@mkdir -p $(JUCE_BINDIR) + -@mkdir -p $(JUCE_LIBDIR) + -@mkdir -p $(JUCE_OUTDIR) @$(BLDCMD) +check-pkg-config: + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors libcurl + clean: @echo Cleaning BinaryBuilder @$(CLEANCMD) strip: @echo Stripping BinaryBuilder - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp - -@mkdir -p $(OBJDIR) +$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(JUCE_OBJDIR) @echo "Compiling juce_core.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/modules/JUCE Module Format.txt b/modules/JUCE Module Format.txt index 164777db08..28275691bc 100644 --- a/modules/JUCE Module Format.txt +++ b/modules/JUCE Module Format.txt @@ -133,8 +133,10 @@ Possible values: OSXFrameworks: (Optional) A list (space or comma-separated) of OSX frameworks that are needed by this module iOSFrameworks: (Optional) Like OSXFrameworks, but for iOS targets - linuxLibs: (Optional) A list (space or comma-separated) of static libs that should be linked in a + linuxLibs: (Optional) A list (space or comma-separated) of static or dynamic libs that should be linked in a linux build (these are passed to the linker via the -l flag) + linuxPackages: (Optional) A list (space or comma-separated) pkg-config packages that should be used to pass + compiler (CFLAGS) and linker (LDFLAGS) flags mingwLibs: (Optional) A list (space or comma-separated) of static libs that should be linked in a win32 mingw build (these are passed to the linker via the -l flag) diff --git a/modules/juce_audio_devices/juce_audio_devices.h b/modules/juce_audio_devices/juce_audio_devices.h index a342c9cb88..51c4b599e4 100644 --- a/modules/juce_audio_devices/juce_audio_devices.h +++ b/modules/juce_audio_devices/juce_audio_devices.h @@ -42,7 +42,7 @@ dependencies: juce_audio_basics, juce_audio_formats, juce_events OSXFrameworks: CoreAudio CoreMIDI DiscRecording iOSFrameworks: CoreAudio CoreMIDI AudioToolbox AVFoundation - linuxLibs: asound + linuxPackages: alsa mingwLibs: winmm END_JUCE_MODULE_DECLARATION diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h index e27cdc89df..39469a0deb 100644 --- a/modules/juce_core/juce_core.h +++ b/modules/juce_core/juce_core.h @@ -48,6 +48,7 @@ OSXFrameworks: Cocoa IOKit iOSFrameworks: Foundation linuxLibs: rt dl pthread + linuxPackages: libcurl mingwLibs: uuid wsock32 wininet version ole32 ws2_32 oleaut32 imm32 comdlg32 shlwapi rpcrt4 winmm END_JUCE_MODULE_DECLARATION @@ -138,7 +139,7 @@ /** Config: JUCE_USE_CURL Enables http/https support via libcurl (Linux only). Enabling this will add an additional - run-time dynmic dependency to libcurl. + run-time dynamic dependency to libcurl. If you disable this then https/ssl support will not be available on linux. */ diff --git a/modules/juce_events/juce_events.h b/modules/juce_events/juce_events.h index b2e6c5e467..1b1ce2ae5c 100644 --- a/modules/juce_events/juce_events.h +++ b/modules/juce_events/juce_events.h @@ -40,7 +40,7 @@ license: GPL/Commercial dependencies: juce_core - linuxLibs: X11 + linuxPackages: x11 END_JUCE_MODULE_DECLARATION diff --git a/modules/juce_graphics/juce_graphics.h b/modules/juce_graphics/juce_graphics.h index e367bde038..5b60e6cd9a 100644 --- a/modules/juce_graphics/juce_graphics.h +++ b/modules/juce_graphics/juce_graphics.h @@ -42,7 +42,7 @@ dependencies: juce_events OSXFrameworks: Cocoa QuartzCore iOSFrameworks: CoreGraphics CoreText QuartzCore - linuxLibs: X11 Xinerama Xext freetype + linuxPackages: x11 xinerama xext freetype2 END_JUCE_MODULE_DECLARATION diff --git a/modules/juce_gui_basics/juce_gui_basics.h b/modules/juce_gui_basics/juce_gui_basics.h index b0e31ed6ab..f436fa5e27 100644 --- a/modules/juce_gui_basics/juce_gui_basics.h +++ b/modules/juce_gui_basics/juce_gui_basics.h @@ -42,7 +42,7 @@ dependencies: juce_events juce_graphics juce_data_structures OSXFrameworks: Cocoa Carbon QuartzCore iOSFrameworks: UIKit - linuxLibs: X11 Xinerama Xext + linuxPackages: x11 xinerama xext END_JUCE_MODULE_DECLARATION