Firmware build system is now CMake, and seems much more sane on the whole.
Ignore firmware/**/build directories for CMake.
Reinstate V=1 make option to see what sections were removed during linking.
Create separate CMake toolchain file. Add references to toolchain file in each firmware CMakeLists.txt. I suspect this can be simpler still, just not sure how, yet...
Qualify "program" firmware make target to eliminate multiple-definition errors when making entire set of firmware.
Update libopencm3
fixed lib suffixes in pkgconfig
add CMake value to change udev rule destination
MAX2837: Fix register read when dirty

Regardless of the dirty state of a register, the locally modified (but possibly uncommitted) value will always be returned.
RFFC5071: Fix to read value from device when register marked dirty.
resolved conflicts and merged jboone:firmware_cmake
Merge branch 'jboone-firmware_cmake'
Merge pull request #132 from bgamari/update-libopencm3

Update libopencm3
Revert "Merge pull request #132 from bgamari/update-libopencm3"

This reverts commit cbe69b3d0b0828e25850e9f3432848d99ec0865d, reversing
changes made to 2f2ca2e630651d97d385d9044149f2f13dd28d05.

I shouldn't have merged that ancient pull request that somehow was
reopened.
Merge pull request #148 from jboone/hotfix_max2837_dirty_read

MAX2837: Fix register read when dirty
Merge pull request #149 from jboone/hotfix_rffc5071_dirty_read

RFFC5071: Fix to read value from device when register marked dirty.
Merge pull request #141 from cottsay/udev-install-dir

add CMake value to change udev rule destination
Merge pull request #140 from cottsay/lib-suffix-fix

fix lib suffixes in pkgconfig