39 lines
1.4 KiB
39 lines
1.4 KiB
# 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])
|