Conversation
OlegHahm
commented
Dec 23, 2013
- fixes Set the correct include path in modules' Makefiles #91
- remove redirection Makefile layer in cpu and boards
- removed redundant include pathes from Makefiles
Makefile.include
Outdated
There was a problem hiding this comment.
Maybe a subfolder for boards would be good if you want to build for multiple boards without a whole cleanup
There was a problem hiding this comment.
I think if you have boards with different architectures (e.g. native and arm) you'll end up with mixed binaries in RIOT/bin as they won't be rebuilt.
There was a problem hiding this comment.
Do we envision to have the same board with different MCUs?
Otherwise, I like the idea. This was the way we did it in µkleos.
There was a problem hiding this comment.
I thought the BINDIR was where the project is built...
If that is the case:
What I meant is when building a project for different boards (say native and msba2) it leads to different architectures (native and arm) being built. In that case, if BINDIR is not dependent on the board/cpu, only modules would be built for the second board that were not built for the first board.
There was a problem hiding this comment.
I'm not sure, if I fully understand your point. Just for clarification:
Current state (before this PR) is that architecture dependent files exist in RIOT/bin, projects/$(PROJECT)/bin and boards/bin. Thus, building the same project for another architecture or building another project for the same architecture almost always require a make clean before.
After this PR every binary goes into projects/$(RPOJECT)/bin - still requiring to call make clean before building the same project for a different architecture, but allowing to build different projects (for the same or a different architecture) without cleaning in between.
What we could do additionally would be to make a subfolder in projects/$(RPOJECT)/bin (e.g. projects/$(RPOJECT)/bin/msba2) containing all .o, .d and .a files and only putting the elf and hex file directly into bin, prefixed with the board, e.g. projects/$(RPOJECT)/bin/msba2-hello_world.hex.
There was a problem hiding this comment.
I think board subdirectories would be nice.
|
👍 for |
|
Addressed comments from @mehlis, @authmillenon and @LudwigOrtmann by creating an according subdirectory for the binaries and adding a variable to switch the compiler output on or off. |
additional: * exporting include path in sys is mandatory for subfolders * removed duplicate object file in linker call
* do not overwrite CFLAGS in boards Makefile
Instead of muting all compiler and other binutils output by default, introduce a variable to make this behaviour configurable.
|
Will squash, when acked. |
|
Just rebased - last 8 commits are new since last comments. |
|
Before: After: |
|
Is this an ACK? |
|
ACK (building for native and msba2 is working) |
|
I can't really review this (I've looked around more or less superficially and wasn't troubled), so I'd say its a NotNACK... |
|
Ooops, I was too quick and forgot squashing. Sorry. Will provide a cake at the next developer meeting. |
|
No need to squash the cake. |