make, tmpl/tagged: Add basic microcontroller support

Add support for building the firmware of the Cortex M3 ST-NUCLEO-F103RB
development board with an STM32 microcontroller. This commit add some hooks,
notably support for tagged templates, but adds lots of crap, too, notably
makefiles and variables that should have different names and / or
functionality.

New makefiles are: Mcu-defs.mk  mcu-exe.mk  mcu-flash.mk  mcu-tags.mk
mcu-topdir.mk tagged-tmpl.mk, a new directory is tmpl/tagged.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2019-03-06 12:19:42 +00:00
commit df6c1ef9a1
12 changed files with 682 additions and 22 deletions

23
make/tagged-tmpl.mk Normal file
View file

@ -0,0 +1,23 @@
#TAGGED_TMPL_TMPLS ?= $(wildcard $(addprefix $(TAGGED_TMPL_REPO_DIR)/ld/,$(TAGGED_TMPL_TAGS)/*.ld))
TAGGED_TMPL_TYPE ?= $(notdir $(CWD))
TAGGED_TMPL_EXTS ?= $(TAGGED_TMPL_TYPE)
TAGGED_TMPL_TAG_DIR ?= $(TAGGED_TMPL_REPO_DIR)/$(1)/$2 # call with repodir, tag and type arguments
TAGGED_TMPL_TAG_DIRS ?= $(foreach tag,$(TAGGED_TMPL_TAGS),$(wildcard $(call $(TAGGED_TMPL_TAG_DIR),$(tag),$(1)))) # call with repodir + type argument
TAGGED_TMPL_FIRST_DIR ?= $(firstword $(call $(TAGGED_TMPL_TAG_DIRS),$(1))) # call with repodir + type argument
#TAGGED_TMPL_ORIGIN ?= $(foreach tag,$(TAGGED_TMPL_TAGS),$(foreach e,$(TAGGED_TMPL_EXTS),$(wildcard $(call $(TAGGED_TMPL_TAG_DIR),$(tag))/*.$(e))))
#TAGGED_TMPL_LOCAL = $(notdir $(TAGGED_TMPL_ORIGIN))
#TAGGED_TMPL_GENERATED = $(patsubst %.tmpl,%,$(TAGGED_TMPL_LOCAL))
#TAGGED_TMPL_UNTEMPLATE = cat
include $(MODDIR)/make/defs.mk
#all: $(TAGGED_TMPL_GENERATED)
#clean: tmpl.clean
#
#tmpl.clean:
# /bin/bash $(MOD_SCRIPT_DIR)/scm.sh -f $(TAGGED_TMPL_GENERATED)
#
#%: %.tmpl
# cat %< | $(TAGGED_TMPL_UNTEMPLATE) > $@.tmp