Skip to content
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

Do we need to litter the working directories with .hex files? #670

Closed
fredizzimo opened this issue Aug 20, 2016 · 6 comments
Closed

Do we need to litter the working directories with .hex files? #670

fredizzimo opened this issue Aug 20, 2016 · 6 comments

Comments

@fredizzimo
Copy link
Contributor

I'm slightly annoyed by the fact that the build system output .hex files in the same directory as you run the make. It makes it hard to navigate the file system and see the important things.

In addition to that they can already be found in the .build folder, but since that folder is hidden, maybe the should go to something like /firmware? I chose the name firmware instead of hex, because some keyboards need bin files instead.

Also, in most cases the user don't need to care about the files at all, since the make command does everything.

@jasonm23
Copy link
Contributor

so rm *.hex

@jackhumbert
Copy link
Member

@jasonm23, @fredizzimo's sentiments are shared by myself and others, and there are other .hex files that would need to be protected from an rm *.hex.

@fredizzimo I've been debating moving the .build folder to build to make it a little more accessible. We could then do away with copying it to the target folder, unless specified via a flag. There would still be the problem of it being in every subfolder, but it'd be a little more organised.

@fredizzimo
Copy link
Contributor Author

@jasonm23, Is there a reason why you would want to keep them in the same directory as you run make from? If there are then please tell, because finding out was the reason why I opened an issue rather than do the required quick fix and submit a pull request.

And by litter, I really mean that

$ find . -name "*.hex" | wc -l
818

For normal users that just compile single keyboards this is not a problem, but when you have to try out many of them it starts to be a problem. My numbers are inflated though, as I still have the old .build folders left, which are no longer created as explained below.

@jackhumbert I think renaming it to build is a good idea. And actually the build folder is no longer created everywhere, Pull request #596 removed that, well actually #595 did, but that was included in #596. The reason for that chance was a technical one, and it had been mentioned in #591 as one of the things to do anyway, so I changed it immediately instead of trying to fix the issue that was caused by having them all around the place.

That said, we could still have some kind of output in other directories as well. But then maybe a firmware folder that contains just the hex and/or bin files would be better. Another option would be to always output the firmware files to the keymap directories. Then at least there wouldn't be a huge number of extra files, mostly a handful for keyboards with a lot of subprojects.

@jasonm23
Copy link
Contributor

jasonm23 commented Aug 24, 2016 via email

@jackhumbert
Copy link
Member

@fredizzimo ah, right! Yeah, I think outputting the .hex to the keymap folder probably makes the most sense for organisation, especially since the .build folder doesn't exist in the current folder anyway :)

I think it'd be sufficient to just put the .hex files (optionally .bin files, if specified in the Makefile) in the keymap folders, without a firmware folder - the name "firmware" may be a little confusing too, since both the keymap and the .hex files are both "firmware."

@fredizzimo
Copy link
Contributor Author

This was fixed a long time ago.

bdjohnson79 pushed a commit to bdjohnson79/qmk_firmware that referenced this issue Oct 15, 2024
* Add keyboard: KMAC Happy & Porting to Vial.

* Add Vial support for keyboard: JER J80.

* Revert info.json

* Revert keymap.c

* Revert keymap.c

* remove defaults in rules.mk

Co-authored-by: Less/Rikki <[email protected]>

* add layer count in config.h

Co-authored-by: Less/Rikki <[email protected]>

* remove QMKBEST codes

Co-authored-by: Less/Rikki <[email protected]>

* remove hardcode in keymap.c

Co-authored-by: Less/Rikki <[email protected]>

* remove QMKBEST codes

Co-authored-by: Less/Rikki <[email protected]>

* remove hardcode in keymap.c

Co-authored-by: Less/Rikki <[email protected]>

* Revert readme.md

* Revert rules.mk

* enable MOUSEKEY as defaults

---------

Co-authored-by: Less/Rikki <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants