From fe8710ce053e0ae181b10e91c4c8b6d218204338 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Kijewski?= <rene.kijewski@fu-berlin.de>
Date: Wed, 14 May 2014 13:46:27 +0200
Subject: [PATCH] make: put buildtest goals into an own file

`Makefile.include` is too long as is.
---
 Makefile.buildtests | 127 +++++++++++++++++++++++++++++++++++++++++++
 Makefile.include    | 129 +-------------------------------------------
 2 files changed, 129 insertions(+), 127 deletions(-)
 create mode 100644 Makefile.buildtests

diff --git a/Makefile.buildtests b/Makefile.buildtests
new file mode 100644
index 0000000000..288ab20085
--- /dev/null
+++ b/Makefile.buildtests
@@ -0,0 +1,127 @@
+buildtest:
+	@if [ -z "$${JENKINS_URL}" ] && tput colors 2>&1 > /dev/null; then \
+		GREEN='\033[1;32m'; RED='\033[1;31m'; RESET='\033[0m'; \
+		ECHO='/bin/echo -e'; \
+	else \
+		GREEN=''; RED=''; RESET=''; \
+		ECHO='/bin/echo'; \
+	fi; \
+	\
+	if [ -z "$(BOARD_WHITELIST)" ]; then \
+		BOARDS=$$(find $(RIOTBOARD) -mindepth 1 -maxdepth 1 -type d \! -name \*-common -printf '%f\n' ); \
+	else \
+		BOARDS="$(BOARD_WHITELIST)"; \
+	fi; \
+	\
+	for BOARD in $(BOARD_BLACKLIST); do \
+		echo "Ignoring $${BOARD} (blacklisted)"; \
+		BOARDS=$$(echo \ $${BOARDS}\  | sed -e 's/ '$${BOARD}' / /'); \
+	done; \
+	\
+	for BOARD in $${BOARDS}; do \
+		$${ECHO} -n "Building for $${BOARD} .. "; \
+		LOG=$$(env -i \
+			HOME=$${HOME} \
+			PATH=$${PATH} \
+			BOARD=$${BOARD} \
+			RIOTBASE=$${RIOTBASE} \
+			RIOTBOARD=$${RIOTBOARD} \
+			RIOTCPU=$${RIOTCPU} \
+			BINDIRBASE=$${BINDIRBASE} \
+			$(MAKE) -B clean all 2>&1 >/dev/null) ; \
+		if [ "$${?}" = "0" ]; then \
+			$${ECHO} "$${GREEN}success$${RESET}"; \
+		else \
+			$${ECHO} "$${RED}failed$${RESET}"; \
+			echo "$${LOG}" | grep -v -E '^make(\[[[:digit:]]])?:'; \
+			BUILDTESTFAILED=1; \
+		fi; \
+	done; \
+	if [ "$${BUILDTESTFAILED}" = "1" ]; then \
+		exit 1; \
+	fi
+
+objsize:
+	@case "${SORTROW}" in \
+		text) SORTROW=1 ;; \
+		data) SORTROW=2 ;; \
+		bss) SORTROW=3 ;; \
+		dec) SORTROW=4 ;; \
+		"") SORTROW=4 ;; \
+		*) echo "Usage: $(MAKE) objsize SORTROW=[text|data|bss|dec]" ; return ;; \
+	esac; \
+	echo '   text\t   data\t    bss\t    dec\t    hex\tfilename'; \
+	$(SIZE) -dB $(BASELIBS) | \
+		tail -n+2 | \
+		sed -e 's#$(BINDIR)##' | \
+		sort -rnk$${SORTROW}
+
+buildsize:
+	@$(SIZE) -dB $(BINDIR)$(PROJECT).elf
+
+buildsizes: SHELL=bash
+buildsizes:
+	@if [[ -z "$(BOARD_WHITELIST)" ]]; then \
+		BOARDS=$$(find $(RIOTBOARD) -mindepth 1 -maxdepth 1 -type d \! -name \*-common -printf '%f\n' ); \
+	else \
+		BOARDS="$(BOARD_WHITELIST)"; \
+	fi; \
+	for BOARD in $(BOARD_BLACKLIST); do \
+		BOARDS=$$(sed -e "s/ $${BOARD} / /" <<< " $${BOARDS} "); \
+	done; \
+	\
+	echo -e "   text\t   data\t    bss\t    dec\tboard"; \
+	for BOARD in $${BOARDS}; do \
+		echo "$$(env -i \
+			HOME=$${HOME} \
+			PATH=$${PATH} \
+			BOARD=$${BOARD} \
+			RIOTBASE=$${RIOTBASE} \
+			RIOTBOARD=$${RIOTBOARD} \
+			RIOTCPU=$${RIOTCPU} \
+			BINDIRBASE=$${BINDIRBASE} \
+			$(MAKE) buildsize 2>/dev/null | tail -n-1 | cut -f-4)" "$${BOARD}"; \
+	done;
+
+buildsizes-diff: SHELL=bash
+buildsizes-diff:
+	@if [[ -z "$(BOARD_WHITELIST)" ]]; then \
+		BOARDS=$$(find $(RIOTBOARD) -mindepth 1 -maxdepth 1 -type d \! -name \*-common -printf '%f\n' ); \
+	else \
+		BOARDS="$(BOARD_WHITELIST)"; \
+	fi; \
+	for BOARD in $(BOARD_BLACKLIST); do \
+		BOARDS=$$(sed -e "s/ $${BOARD} / /" <<< " $${BOARDS} "); \
+	done; \
+	\
+	GREEN='\033[1;32m'; RED='\033[1;31m'; RESET='\033[0m'; \
+	\
+	echo -e "text\tdata\tbss\tdec\tBOARD/BINDIRBASE\n"; \
+	for BOARD in $$(tr ' ' '\n' <<< $${BOARDS} | sort); do \
+		for BINDIRBASE in $${OLDBIN} $${NEWBIN}; do \
+			env -i \
+				HOME=$${HOME} \
+				PATH=$${PATH} \
+				BOARD=$${BOARD} \
+				RIOTBASE=$${RIOTBASE} \
+				RIOTBOARD=$${RIOTBOARD} \
+				RIOTCPU=$${RIOTCPU} \
+				BINDIRBASE=$${BINDIRBASE} \
+				$(MAKE) buildsize 2>/dev/null | tail -n-1 | cut -f-4; \
+		done | \
+		while read -a OLD && read -a NEW; do \
+			for I in 0 1 2 3; do \
+				if [[ -n "$${NEW[I]}" && -n "$${OLD[I]}" ]]; then \
+					DIFF=$$(($${NEW[I]} - $${OLD[I]})); \
+					if [[ "$${DIFF}" -gt 0 ]]; then echo -ne "$${RED}"; fi; \
+					if [[ "$${DIFF}" -lt 0 ]]; then echo -ne "$${GREEN}"; fi; \
+				else \
+					DIFF="$${RED}ERR"; \
+				fi; \
+				echo -ne "$${DIFF}\t$${RESET}"; \
+			done; \
+			echo "$${BOARD}"; \
+			for I in 0 1 2 3; do echo -ne "$${OLD[I]-$${RED}ERR$${RESET}}\t"; done; echo -e "$${OLDBIN}"; \
+			for I in 0 1 2 3; do echo -ne "$${NEW[I]-$${RED}ERR$${RESET}}\t"; done; echo -e "$${NEWBIN}\n"; \
+		done; \
+	done;
diff --git a/Makefile.include b/Makefile.include
index fadbc0da40..358772af96 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -138,130 +138,5 @@ doc:
 debug:
 	$(DEBUGGER) $(DEBUGGER_FLAGS)
 
-buildtest:
-	@if [ -z "$${JENKINS_URL}" ] && tput colors 2>&1 > /dev/null; then \
-		GREEN='\033[1;32m'; RED='\033[1;31m'; RESET='\033[0m'; \
-		ECHO='/bin/echo -e'; \
-	else \
-		GREEN=''; RED=''; RESET=''; \
-		ECHO='/bin/echo'; \
-	fi; \
-	\
-	if [ -z "$(BOARD_WHITELIST)" ]; then \
-		BOARDS=$$(find $(RIOTBOARD) -mindepth 1 -maxdepth 1 -type d \! -name \*-common -printf '%f\n' ); \
-	else \
-		BOARDS="$(BOARD_WHITELIST)"; \
-	fi; \
-	\
-	for BOARD in $(BOARD_BLACKLIST); do \
-		echo "Ignoring $${BOARD} (blacklisted)"; \
-		BOARDS=$$(echo \ $${BOARDS}\  | sed -e 's/ '$${BOARD}' / /'); \
-	done; \
-	\
-	for BOARD in $${BOARDS}; do \
-		$${ECHO} -n "Building for $${BOARD} .. "; \
-		LOG=$$(env -i \
-			HOME=$${HOME} \
-			PATH=$${PATH} \
-			BOARD=$${BOARD} \
-			RIOTBASE=$${RIOTBASE} \
-			RIOTBOARD=$${RIOTBOARD} \
-			RIOTCPU=$${RIOTCPU} \
-			BINDIRBASE=$${BINDIRBASE} \
-			$(MAKE) -B clean all 2>&1 >/dev/null) ; \
-		if [ "$${?}" = "0" ]; then \
-			$${ECHO} "$${GREEN}success$${RESET}"; \
-		else \
-			$${ECHO} "$${RED}failed$${RESET}"; \
-			echo "$${LOG}" | grep -v -E '^make(\[[[:digit:]]])?:'; \
-			BUILDTESTFAILED=1; \
-		fi; \
-	done; \
-	if [ "$${BUILDTESTFAILED}" = "1" ]; then \
-		exit 1; \
-	fi
-
-objsize:
-	@case "${SORTROW}" in \
-		text) SORTROW=1 ;; \
-		data) SORTROW=2 ;; \
-		bss) SORTROW=3 ;; \
-		dec) SORTROW=4 ;; \
-		"") SORTROW=4 ;; \
-		*) echo "Usage: $(MAKE) objsize SORTROW=[text|data|bss|dec]" ; return ;; \
-	esac; \
-	echo '   text\t   data\t    bss\t    dec\t    hex\tfilename'; \
-	$(SIZE) -dB $(BASELIBS) | \
-		tail -n+2 | \
-		sed -e 's#$(BINDIR)##' | \
-		sort -rnk$${SORTROW}
-
-buildsize:
-	@$(SIZE) -dB $(BINDIR)$(PROJECT).elf
-
-buildsizes: SHELL=bash
-buildsizes:
-	@if [[ -z "$(BOARD_WHITELIST)" ]]; then \
-		BOARDS=$$(find $(RIOTBOARD) -mindepth 1 -maxdepth 1 -type d \! -name \*-common -printf '%f\n' ); \
-	else \
-		BOARDS="$(BOARD_WHITELIST)"; \
-	fi; \
-	for BOARD in $(BOARD_BLACKLIST); do \
-		BOARDS=$$(sed -e "s/ $${BOARD} / /" <<< " $${BOARDS} "); \
-	done; \
-	\
-	echo -e "   text\t   data\t    bss\t    dec\tboard"; \
-	for BOARD in $${BOARDS}; do \
-		echo "$$(env -i \
-			HOME=$${HOME} \
-			PATH=$${PATH} \
-			BOARD=$${BOARD} \
-			RIOTBASE=$${RIOTBASE} \
-			RIOTBOARD=$${RIOTBOARD} \
-			RIOTCPU=$${RIOTCPU} \
-			BINDIRBASE=$${BINDIRBASE} \
-			$(MAKE) buildsize 2>/dev/null | tail -n-1 | cut -f-4)" "$${BOARD}"; \
-	done;
-
-buildsizes-diff: SHELL=bash
-buildsizes-diff:
-	@if [[ -z "$(BOARD_WHITELIST)" ]]; then \
-		BOARDS=$$(find $(RIOTBOARD) -mindepth 1 -maxdepth 1 -type d \! -name \*-common -printf '%f\n' ); \
-	else \
-		BOARDS="$(BOARD_WHITELIST)"; \
-	fi; \
-	for BOARD in $(BOARD_BLACKLIST); do \
-		BOARDS=$$(sed -e "s/ $${BOARD} / /" <<< " $${BOARDS} "); \
-	done; \
-	\
-	GREEN='\033[1;32m'; RED='\033[1;31m'; RESET='\033[0m'; \
-	\
-	echo -e "text\tdata\tbss\tdec\tBOARD/BINDIRBASE\n"; \
-	for BOARD in $$(tr ' ' '\n' <<< $${BOARDS} | sort); do \
-		for BINDIRBASE in $${OLDBIN} $${NEWBIN}; do \
-			env -i \
-				HOME=$${HOME} \
-				PATH=$${PATH} \
-				BOARD=$${BOARD} \
-				RIOTBASE=$${RIOTBASE} \
-				RIOTBOARD=$${RIOTBOARD} \
-				RIOTCPU=$${RIOTCPU} \
-				BINDIRBASE=$${BINDIRBASE} \
-				$(MAKE) buildsize 2>/dev/null | tail -n-1 | cut -f-4; \
-		done | \
-		while read -a OLD && read -a NEW; do \
-			for I in 0 1 2 3; do \
-				if [[ -n "$${NEW[I]}" && -n "$${OLD[I]}" ]]; then \
-					DIFF=$$(($${NEW[I]} - $${OLD[I]})); \
-					if [[ "$${DIFF}" -gt 0 ]]; then echo -ne "$${RED}"; fi; \
-					if [[ "$${DIFF}" -lt 0 ]]; then echo -ne "$${GREEN}"; fi; \
-				else \
-					DIFF="$${RED}ERR"; \
-				fi; \
-				echo -ne "$${DIFF}\t$${RESET}"; \
-			done; \
-			echo "$${BOARD}"; \
-			for I in 0 1 2 3; do echo -ne "$${OLD[I]-$${RED}ERR$${RESET}}\t"; done; echo -e "$${OLDBIN}"; \
-			for I in 0 1 2 3; do echo -ne "$${NEW[I]-$${RED}ERR$${RESET}}\t"; done; echo -e "$${NEWBIN}\n"; \
-		done; \
-	done;
+# Extra make goals for testing and comparing changes.
+include $(RIOTBASE)/Makefile.buildtests
-- 
GitLab