aboutsummaryrefslogtreecommitdiff
path: root/Common.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Common.mk')
-rw-r--r--Common.mk38
1 files changed, 38 insertions, 0 deletions
diff --git a/Common.mk b/Common.mk
new file mode 100644
index 0000000..a94c37f
--- /dev/null
+++ b/Common.mk
@@ -0,0 +1,38 @@
+# Useful functions
+# Returns the first argument (typically a directory), if the file or directory
+# named by concatenating the first and optionally second argument
+# (directory and optional filename) exists
+dir_if_exists = $(if $(wildcard $(1)$(2)),$(1))
+
+# For message printing: pad the right side of the first argument with spaces to
+# the number of bytes indicated by the second argument.
+space_pad_to = $(shell echo $(1) " " | head -c$(2))
+
+# Call with some text, and a prefix tag if desired (like [AUTODETECTED]),
+show_config_info = $(call arduino_output,- $(call space_pad_to,$(2),20) $(1))
+
+# Call with the name of the variable, a prefix tag if desired (like [AUTODETECTED]),
+# and an explanation if desired (like (found in $$PATH)
+show_config_variable = $(call show_config_info,$(1) = $($(1)) $(3),$(2))
+
+# Just a nice simple visual separator
+show_separator = $(call arduino_output,-------------------------)
+
+$(call show_separator)
+$(call arduino_output,Arduino.mk Configuration:)
+
+########################################################################
+#
+# Detect OS
+ifeq ($(OS),Windows_NT)
+ CURRENT_OS = WINDOWS
+else
+ UNAME_S := $(shell uname -s)
+ ifeq ($(UNAME_S),Linux)
+ CURRENT_OS = LINUX
+ endif
+ ifeq ($(UNAME_S),Darwin)
+ CURRENT_OS = MAC
+ endif
+endif
+$(call show_config_variable,CURRENT_OS,[AUTODETECTED])