diff --git a/Makefile b/Makefile
index cf5d8b79d0ffa360f3b12331637ca680d9c9a985..45244fc80c6d4a4b6d05ab5c95040df457d52f41 100644
--- a/Makefile
+++ b/Makefile
@@ -33,4 +33,19 @@ include src/arch/${arch}/Makefile.inc
 clean: arch_clean
 	rm -f build/system.elf
 
-.PHONY: clean
+help: arch_help
+	@echo
+	@echo "Global flags:"
+	@echo "    timer_cycles timer_us timer_s"
+	@echo "    loop"
+	@echo
+	@echo "${arch} drivers:"
+	@echo "    $(shell ls src/arch/${arch}/driver | fgrep .c | cut -d . -f 1)"
+	@echo
+	@echo "Global drivers:"
+	@echo "    $(shell ls src/driver | fgrep .c | cut -d . -f 1)"
+	@echo
+	@echo "Global architectures:"
+	@echo "    $(shell ls src/arch)"
+
+.PHONY: clean help
diff --git a/src/arch/arduino-nano/Makefile.inc b/src/arch/arduino-nano/Makefile.inc
index 68e040fc425ce704377ff6ce6a85b1ed7a84e9b3..a7c0fa91fdace9e7ab494a7bf9b2fa53be5d70b8 100644
--- a/src/arch/arduino-nano/Makefile.inc
+++ b/src/arch/arduino-nano/Makefile.inc
@@ -39,4 +39,9 @@ arch_clean:
 monitor:
 	screen ${PORT} 115200
 
-.PHONY: arch_clean monitor program
+arch_help:
+	@echo "arduino-nano specific flags:"
+	@echo "    PORT = ${PORT}"
+	@echo "    BAUD = ${BAUD} (only used for programming)"
+
+.PHONY: arch_clean arch_help monitor program
diff --git a/src/arch/esp8266/Makefile.inc b/src/arch/esp8266/Makefile.inc
index a4b98319840b74c0dfba1e70bb741d3dec757cda..6fdcf4ba7e95177e3728bbccff8cb7127dc4a306 100644
--- a/src/arch/esp8266/Makefile.inc
+++ b/src/arch/esp8266/Makefile.inc
@@ -53,4 +53,8 @@ arch_clean:
 monitor:
 	screen /dev/ttyUSB0 115200
 
-.PHONY: arch_clean monitor program
+arch_help:
+	@echo "esp8266 specific flags:"
+	@echo "    - none -"
+
+.PHONY: arch_clean arch_help monitor program
diff --git a/src/arch/msp430fr5969lp/Makefile.inc b/src/arch/msp430fr5969lp/Makefile.inc
index 8d3647d31e8592d49fbdd1e5520e6ad9253480ca..978678586c4a33a119be0b81c836fa03eb496cac 100644
--- a/src/arch/msp430fr5969lp/Makefile.inc
+++ b/src/arch/msp430fr5969lp/Makefile.inc
@@ -42,4 +42,8 @@ arch_clean:
 monitor:
 	screen /dev/ttyACM1 115200
 
-.PHONY: arch_clean monitor program
+arch_help:
+	@echo "msp430fR5969lp specific flags:"
+	@echo "    - none -"
+
+.PHONY: arch_clean arch_help monitor program
diff --git a/src/arch/posix/Makefile.inc b/src/arch/posix/Makefile.inc
index 03b6f67c86f4002cac998cdf8d55a141a29884e5..37c8e0e62df55dba5729057fc8a5feb2dc28c76d 100644
--- a/src/arch/posix/Makefile.inc
+++ b/src/arch/posix/Makefile.inc
@@ -26,4 +26,8 @@ program: run
 arch_clean:
 	rm -f ${OBJECTS}
 
-.PHONY: arch_clean monitor program run
+arch_help:
+	@echo "posix specific flags:"
+	@echo "    - none -"
+
+.PHONY: arch_clean arch_help monitor program run