Rename CFLAGS and friends to follow the conventions of the implicit rules
defined by GNU Make:
- $(CPPFLAGS) is passed to both C++ and C compiler
- $(CXXFLAGS) is passed to C++ compiler only
- $(CFLAGS) is passed to C compiler only
- C++ compiler is in $(CXX)
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit adds compiler flags needed for compilation with modm. Cleanup is
needed, most notably should mcu-tags.mk be dissolved into defs-cpp.mk. The good
part is that it works.
Signed-off-by: Jan Lindemann <jan@janware.com>
If defs.mk isn't included, CWD is undefined, which leads to an
attempt to add the wrong submodule path upon initialization
Signed-off-by: Jan Lindemann <jan@janware.com>
Identify the remote's name by $(PROJECT) instead of $(RPM_PROJECT) now.
Don't know the exact rationale for $(RPM_PROJECT), but in case of
arm-none-eabi-mcu-blink it was certainly wrong.
Signed-off-by: Jan Lindemann <jan@janware.com>
These variables denote the flags used in compiler and linker rules.
They are defined as REAL_(CPP|C|LD)FLAGS ?= BUILD_(CPP|C|LD)FLAGS
and provide a means to override the flags assembled cumulatively.
Signed-off-by: Jan Lindemann <jan@janware.com>
USE_DISABLE_COMPILER_OPTIMISATION_OPTS = true disables options targeted
at disabling optimization features, which were introduced to facilitate
debugging in the first place, but make the commandline harder to compare
to others while troubleshooting the compile process
Signed-off-by: Jan Lindemann <jan@janware.com>
Code generated for Cortex M3 stopped working after adding -L$(TC_SYS_ROOT)/lib.
The problem is that libc et al have to be taken from $(TC_SYS_ROOT)/lib/thumb,
which is correctly taken if explicit -L is left out.
Probably breaks mingw, to be tested and fixed in the next iteration.
Signed-off-by: Jan Lindemann <jan@janware.com>
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 takes the MinGW cross compilation further into the direction of
being a more general framework for cross compilation. Changed some variable
names that are too specialized, notably MinGW tool chain directories,
compilers, utilities.
Signed-off-by: Jan Lindemann <jan@janware.com>