-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[build] Add Makefile build script generator #557
Conversation
a85ec9d
to
1df3ea5
Compare
I never understood why there is a Makefile generated by the cmake generator. With the rework of the cmake generator in #568 it will probably disappear?! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks nice and clean! 👍🏽
(and I like Makefiles 😆)
1df3ea5
to
34f0e7b
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
0dccf3e
to
1a338af
Compare
4ea2e53
to
5f06e6b
Compare
Ok, this is ready for review now. It's a copy of the SCons "API" with all features except |
08de09d
to
f203126
Compare
f203126
to
22c28af
Compare
Ah, of course, using shell commands doesn't work on Windows. That's going to be annoying…
|
35a5e39
to
208cb9b
Compare
Ok, so now that I have a Windows VM I can say that generating a Windows-compatible Makefile requires dealing manually (!!!) with the path seperator |
208cb9b
to
d308f10
Compare
This is ready for merging, unless someone™ wants to review. |
d308f10
to
ee875be
Compare
I added an alias mechanism to lbuild v1.16.0 so that the move of
|
Ping @rleh, please review so I can merge… |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make uses the build folder make-release/
, so scons should also use scons-release/
(currently release/
).
With the stm32f469_discovery/hard_fault example the |
The interesting question is if the .bin file is different? I would assume so perhaps because of link order… |
using LedD13 = GpioA17; | ||
using LedTx = GpioA27; | ||
using LedRx = GpioB03; | ||
using Leds = LedTx; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using LedD13 = GpioA17; | |
using LedTx = GpioA27; | |
using LedRx = GpioB03; | |
using Leds = LedTx; | |
// User LED (Rx and Tx LEDs inverted, because connected to 3V3) | |
using LedD13 = GpioA17; | |
using LedTx = GpioInverted<GpioOutputA27>; | |
using LedRx = GpioInverted<GpioOutputB03>; | |
using Leds = SoftwareGpioPort< LedTx, LedRx >; |
https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/sparkfun-samd21-mini-breakout-v10.pdf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know, but the problem is that the SAM GPIO implementation does not have GpioInverted
or SoftwareGpioPort
implemented…
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ohhh :D
Maybe we (you) should create a issue about that and add the "help wanted" label?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I'm honest I would rather rework the Targets support matrix to something that's generated from lbuild using the data we already accumulate in generate_module_docs
(but perhaps not so slow). That would give a much more detailed look at what peripherals are supported.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also not sure if the "help wanted" is generally useful, so far I've not seen a contributor specifically fix things they are not personally motivated to do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is also because we hardly have such "help-wanted" problems that are suitable for beginners.
We could also try to participate in events like hacktoberfest to attract new contributors.
ee875be
to
236e27c
Compare
Makefiles are quite simple to use and I wanted a build system that didn't require Python3 (at least for building, all our tooling requires it of course). It may also make it easier for people wary of SCons or CMake to use modm.
Merging of Makefile generated byCMake Makefile will go away soon.::cmake
(almost identical):::scons
to::build
and also implement in:::make
cc @rleh @chris-durand