Skip to content

Conversation

@jepler
Copy link

@jepler jepler commented Sep 3, 2020

e.g., I put content in ports/portname/makefile like

BOARD=boardname
DEBUG=1
include Makefile

so that when I make it picks up these flags automatically.

This change means that these files won't be picked up by git status or removed by git clean (unless -x is specified).

e.g., I put content in ports/portname/makefile like
```
BOARD=boardname
DEBUG=1
include Makefile
```
so that when I `make` it picks up these flags automatically.

This change means that these files won't be picked up by `git status`
or removed by `git clean`.
@jerryneedell
Copy link
Collaborator

jerryneedell commented Sep 3, 2020

will the Makefile still be Downloaded when cloned and updated when it is modified?
may not matter -- I may be misinterpreting which makefile this is?

@jepler
Copy link
Author

jepler commented Sep 3, 2020

The "Makefile" and the "makefile" are different files.

@jepler
Copy link
Author

jepler commented Sep 3, 2020

However, behavior on systems which don't distinguish between "Makefile" and "makefile", like windows, may be a reason to not accept this PR. I can't easily check those systems.

Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

However, behavior on systems which don't distinguish between "Makefile" and "makefile", like windows, may be a reason to not accept this PR. I can't easily check those systems.

Both Windows and MacOS also have case-insensitive filesystems by default. I think those are showstoppers.

Alternatives:

  1. Add
-include makefile.local

to the Makefiles, and put makefile.local in .gitignore. See https://stackoverflow.com/questions/3910054/makefile-conditional-include.

  1. According to the documentation, GNU make "will look for the makefiles GNUmakefile, makefile, and Makefile, in that order." If you're always planning to use GNU make, you could add GNUmakefile to .gitignore instead.

  2. Alias make to a script that checks for, say, makefile.local, and put makefile.local in the .gitignore.

@tannewt
Copy link
Member

tannewt commented Sep 3, 2020

I like makefile.local because it's clearer. That said, I don't think CircuitPython builds on case-insensitive filesystems already. I had a mounted image on Mac that was case-sensitive to store it.

@jerryneedell
Copy link
Collaborator

jerryneedell commented Sep 3, 2020

in my experience everything except the esp32s2 will build on a case-incensitive file system on a Mac. (anything using the arm toolchain) The espressif idf (xtensa toolchain) requires a case insensitive file system.

@jerryneedell
Copy link
Collaborator

It may only be necessary to have a case sensitive file system to build the xtesna toolchainn locally -- that is the only place I see it mentioned here --
https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/get-started/macos-setup-scratch.html

@jerryneedell
Copy link
Collaborator

jerryneedell commented Sep 4, 2020

FYI -- I just did a fresh clone of the CP repo to a default (case-insesntive) MacOS file system and I am able to build the esp32s2 files.. The only issue I aide was with the version of gdbgui installed -- has to revert it to 0.13.2.0 (that hs noting to do with the file systems)

@jepler jepler closed this Sep 10, 2020
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

Successfully merging this pull request may close these issues.

4 participants