From 143379df9873622ffe938592cd27e89a95361ddf Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Thu, 11 Oct 2012 19:13:35 +0200 Subject: digital/ucoolib: add ucoolib build system and basic arch module --- digital/ucoolib/build/macros.mk | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 digital/ucoolib/build/macros.mk (limited to 'digital/ucoolib/build/macros.mk') diff --git a/digital/ucoolib/build/macros.mk b/digital/ucoolib/build/macros.mk new file mode 100644 index 00000000..8ae3244f --- /dev/null +++ b/digital/ucoolib/build/macros.mk @@ -0,0 +1,17 @@ +# ucoolib - Microcontroller object oriented library. +# +# Usefull macros. + +# Return $(A) only if defined, else return B. +# $(call defval,A,B) +defval = $(if $(filter undefined,$(origin $1)),$2,$($1)) + +# Filter out source file for other targets, return basenames. +# $(call filter_sources,TARGET,SOURCES) +filter_sources = $(call filter_sources_sub,$1,$(basename $2)) +filter_sources_sub = $(foreach t,$1 $($1_SUBTARGETS),$(filter %.$t,$2)) \ + $(foreach f,$2,$(if $(findstring .,$f),,$f)) + +# Test if one of the source is C++, in this case, return cc, else return c. +# $(call iscxx,SOURCES) +iscxx = $(if $(filter %.cc,$1),cc,c) -- cgit v1.2.3