libDaisy
libDaisy copied to clipboard
Build: core/Makefile - Major overhaul
Aims And Claims
- Build is fully customizable now from the "User Project" without any changes required in this repo
- Fully backwards compatible with prior version (regression tested with latest DaisyExamples and DaisyBlinkProject)
- Separate interface from implementation and present it with more detailed documentation on how to use
Changes
- Add
Makefile.conf- declarative build settings interface - Fix: support of user defined
CFLAGS, CXXFLAGS, ASFLAGS, LDFLAGS - Fix: support build config from shell env vars
- Fix: debug symbols now only in
DEBUGbuild - Feature: support user defined suffix for c++ files (
USER_SUFFIX_CXX) - Provide structure and process to remove items from flags and lists (not just appending to it)
- Structure the customization into three documented levels of build customization needs (Required, Optional, DangerZone)
- More error handling of build mis-configuration (warn/error messages)
New Build Options
STARTUP_CODE{ASM, C}USER_SUFFIX_CXXC_STANDARDCXX_STANDARDGCC_SPECS- new
APP_TYPE'CUSTOM' - allows custom linkerscript LDSCRIPT