Mercurial > hg > beaglert
comparison Makefile @ 393:814e85de67e1 prerelease
IDE can be started and set/unset startup from the Makefile
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Tue, 14 Jun 2016 16:26:34 +0100 |
parents | e4510c9eee94 |
children | b6b13f669174 |
comparison
equal
deleted
inserted
replaced
386:e4510c9eee94 | 393:814e85de67e1 |
---|---|
6 # This Makefile is intended for use on the BeagleBone Black itself | 6 # This Makefile is intended for use on the BeagleBone Black itself |
7 # and not for cross-compiling | 7 # and not for cross-compiling |
8 | 8 |
9 .DEFAULT_GOAL := Bela | 9 .DEFAULT_GOAL := Bela |
10 | 10 |
11 NO_PROJECT_TARGETS=coreclean distclean stop help | 11 NO_PROJECT_TARGETS=coreclean distclean stop help iderun idestop iderunup idenostartup |
12 NO_PROJECT_TARGETS_MESSAGE=PROJECT or EXAMPLE should be set for all targets except: $(NO_PROJECT_TARGETS) | 12 NO_PROJECT_TARGETS_MESSAGE=PROJECT or EXAMPLE should be set for all targets except: $(NO_PROJECT_TARGETS) |
13 # Type `$ make help` to get a description of the functionalities of this Makefile. | 13 # Type `$ make help` to get a description of the functionalities of this Makefile. |
14 help: ## Show this help | 14 help: ## Show this help |
15 @echo 'Usage: make [target] CL=[command line options] [PROJECT=[projectName] | EXAMPLE=[exampleName]]' | 15 @echo 'Usage: make [target] CL=[command line options] [PROJECT=[projectName] | EXAMPLE=[exampleName]]' |
16 @printf "\n$(NO_PROJECT_TARGETS_MESSAGE)\n\n" | 16 @printf "\n$(NO_PROJECT_TARGETS_MESSAGE)\n\n" |
37 else | 37 else |
38 PROJECT_DIR := $(abspath projects/$(PROJECT)) | 38 PROJECT_DIR := $(abspath projects/$(PROJECT)) |
39 endif | 39 endif |
40 | 40 |
41 ifdef PROJECT | 41 ifdef PROJECT |
42 $(shell mkdir -p $(PROJECT_DIR)/build) | 42 $(shell mkdir -p $(PROJECT_DIR)/build build/core) |
43 endif | 43 endif |
44 | 44 |
45 OUTPUT_FILE?=$(PROJECT_DIR)/$(PROJECT) | 45 OUTPUT_FILE?=$(PROJECT_DIR)/$(PROJECT) |
46 COMMAND_LINE_OPTIONS?=$(CL) | 46 COMMAND_LINE_OPTIONS?=$(CL) |
47 RUN_COMMAND?=$(OUTPUT_FILE) $(COMMAND_LINE_OPTIONS) | 47 RUN_COMMAND?=$(OUTPUT_FILE) $(COMMAND_LINE_OPTIONS) |
48 BELA_STARTUP_SCRIPT?=/root/BeagleRT_startup.sh | 48 BELA_STARTUP_SCRIPT?=/root/BeagleRT_startup.sh |
49 BELA_AUDIO_THREAD_NAME?=bela-audio | 49 BELA_AUDIO_THREAD_NAME?=bela-audio |
50 SCREEN_NAME?=Bela | 50 SCREEN_NAME?=Bela |
51 | 51 BELA_IDE_STARTUP_SCRIPT?=/root/BeagleRT_node.sh |
52 BELA_IDE_HOME?=/root/Bela/IDE | |
53 BELA_IDE_SCREEN_NAME?=Bela-IDE | |
54 BELA_IDE_RUN_COMMAND?=cd $(BELA_IDE_HOME) && screen -S $(BELA_IDE_SCREEN_NAME) -d -m node index.js | |
55 BELA_IDE_STOP_COMMAND?=screen -X -S $(BELA_IDE_SCREEN_NAME) quit > /dev/null | |
52 | 56 |
53 RM := rm -rf | 57 RM := rm -rf |
54 STATIC_LIBS := ./libprussdrv.a ./libNE10.a | 58 STATIC_LIBS := ./libprussdrv.a ./libNE10.a |
55 LIBS := -lrt -lnative -lxenomai -lsndfile | 59 LIBS := -lrt -lnative -lxenomai -lsndfile |
56 | 60 |
255 @echo "Enabling Bela at startup..." | 259 @echo "Enabling Bela at startup..." |
256 @$(STARTUP_COMMAND) > $(BELA_STARTUP_SCRIPT) | 260 @$(STARTUP_COMMAND) > $(BELA_STARTUP_SCRIPT) |
257 | 261 |
258 stop: ## Stops any Bela program that is currently running | 262 stop: ## Stops any Bela program that is currently running |
259 stop: | 263 stop: |
260 @PID=`grep $(BELA_AUDIO_THREAD_NAME) /proc/xenomai/stat | cut -d " " -f 5 | sed s/\s//g`; if [ -z $$PID ]; then echo "No process to kill"; else echo "Killing old Bela process $$PID"; kill -2 $$PID; fi; screen -X -S $(SCREEN_NAME) quit > /dev/null; exit 0; | 264 # @PID=`grep $(BELA_AUDIO_THREAD_NAME) /proc/xenomai/stat | cut -d " " -f 5 | sed s/\s//g`; if [ -z $$PID ]; then echo "No process to kill"; else echo "Killing old Bela process $$PID"; kill -2 $$PID; fi; screen -X -S $(SCREEN_NAME) quit > /dev/null; exit 0; |
261 | 265 @PID=`grep $(BELA_AUDIO_THREAD_NAME) /proc/xenomai/stat | cut -d " " -f 5 | sed s/\s//g`; if [ -z $$PID ]; then echo "No process to kill"; else echo "Killing old Bela process $$PID"; fi; screen -X -S $(SCREEN_NAME) quit > /dev/null; exit 0; |
262 .PHONY: all clean distclean help projectclean nostartup startup startuploop debug run runfg runscreen runscreenfg runscreenfifo stop | 266 |
267 iderun: ## Starts the on-board IDE | |
268 iderun: | |
269 $(BELA_IDE_RUN_COMMAND) | |
270 | |
271 idestop: ## Stops the on-board IDE | |
272 @echo TODO | |
273 @exit 1 | |
274 | |
275 BELA_IDE_STARTUP_COMMAND=printf "\#!/bin/sh\n\#\n\# This file is autogenerated by Bela. Do not edit!\n\necho Running the Bela IDE...\n$(BELA_IDE_RUN_COMMAND)\n" > $(BELA_IDE_STARTUP_SCRIPT) | |
276 | |
277 iderunup: ## Enables the IDE at startup | |
278 @echo "Enabling the IDE at startup" | |
279 $(BELA_IDE_STARTUP_COMMAND) | |
280 @chmod +x $(BELA_IDE_STARTUP_SCRIPT) | |
281 | |
282 idenostartup: ## Disables the IDE at startup | |
283 @echo "Disabling the IDE at startup" | |
284 @printf "#!/bin/sh\n#\n\n# This file is autogenerated by Bela. Do not edit!\n\n# The Bela IDE is disabled on startup.\n" > $(BELA_IDE_STARTUP_SCRIPT) | |
285 .PHONY: all clean distclean help projectclean nostartup startup startuploop debug run runfg runscreen runscreenfg runscreenfifo stop iderun idestop iderunup idenostartup |