# HG changeset patch # User Giulio Moro # Date 1465924523 -3600 # Node ID 922535948800be41c2c0e4f2a854c1ca7506c684 # Parent a4e49a3d9948b2ed286210e652006a14e8f79916# Parent d107cb121bfa03b252a328cff51c7b7b615a3b36 merge diff -r a4e49a3d9948 -r 922535948800 Makefile --- a/Makefile Tue Jun 14 18:11:38 2016 +0100 +++ b/Makefile Tue Jun 14 18:15:23 2016 +0100 @@ -46,6 +46,7 @@ OUTPUT_FILE?=$(PROJECT_DIR)/$(PROJECT) COMMAND_LINE_OPTIONS?=$(CL) RUN_COMMAND?=$(OUTPUT_FILE) $(COMMAND_LINE_OPTIONS) +RUN_IDE_COMMAND?=stdbuf -i0 -o0 -e0 $(RUN_COMMAND) BELA_STARTUP_SCRIPT?=/root/BeagleRT_startup.sh BELA_AUDIO_THREAD_NAME?=bela-audio SCREEN_NAME?=Bela @@ -164,7 +165,7 @@ # Rule for user-supplied C++ files $(PROJECT_DIR)/build/%.o: $(PROJECT_DIR)/%.cpp @echo 'Building $(notdir $<)...' - @echo 'Invoking: C++ Compiler $(CXX)' +# @echo 'Invoking: C++ Compiler $(CXX)' @$(CXX) $(SYNTAX_FLAG) $(INCLUDES) $(CPP_FLAGS) -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" @echo ' ...done' @echo ' ' @@ -192,10 +193,10 @@ # line below. Surely there's a better way to do this? $(OUTPUT_FILE): $(CORE_ASM_OBJS) $(CORE_OBJS) $(PROJECT_OBJS) $(STATIC_LIBS) $(DEFAULT_MAIN_OBJS) $(eval DEFAULT_MAIN_CONDITIONAL := $(shell bash -c 'if [ `nm $(PROJECT_OBJS) | grep -w T | grep -w main | wc -l` == '0' ]; then echo "$(DEFAULT_MAIN_OBJS)"; else echo ""; fi')) - @echo 'Invoking: C++ linker' + @echo 'Linking...' @$(CXX) $(SYNTAX_FLAG) -L/usr/xenomai/lib -L/usr/arm-linux-gnueabihf/lib -L/usr/arm-linux-gnueabihf/lib/xenomai -L/usr/lib/arm-linux-gnueabihf -pthread -Wpointer-arith -o "$(PROJECT_DIR)/$(PROJECT)" $(CORE_ASM_OBJS) $(CORE_OBJS) $(DEFAULT_MAIN_CONDITIONAL) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) $(LIBS) - @echo 'Finished building target: $@' - @sync + @echo ' ...done' + # Other Targets: # This rule compiles c and c++ source files without output or linking SYNTAX: $(C_OBJS) $(CPP_OBJS) @@ -225,7 +226,10 @@ run: ## Run PROJECT in the foreground run: stop Bela @echo "Running $(RUN_COMMAND)" - @cd $(PROJECT_DIR) && $(RUN_COMMAND) + @cd $(PROJECT_DIR) && sync& $(RUN_COMMAND) +runide: ## Run PROJECT for IDE (foreground, without stop or build, suppressed output, no buffering) +runide: Bela + @cd $(PROJECT_DIR) && sync& $(RUN_IDE_COMMAND) runscreen: ## Run PROJECT in the background (detached screen) runscreen: stop $(OUTPUT_FILE) @echo "Running $(RUN_COMMAND) in a screen"