-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Rework makefiles. Add proper dependency checking. #219
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
Conversation
And this change means that we need to use GNU make 3.81 or newer. Since 3.81 is about 8 years old, I don't think that this should cause any problems. |
Rework makefiles. Add proper dependency checking.
Hmm, doesn't work for me. After
|
But, otherwise, really nice work! Thanks! |
Hmm. So I just checked out the latest (I'm now at fcd4ae) and it seems to be working for me. The rules to make the directories (build and build/py) are in py/mkrules.mk
So adding
might shed some light. If not, then if you want to email the output the |
Oh - yeah the generated header had to be dealt with specially. This line in py.mk
is supposed to get the directory created. I'll probably need to look at your make -d and make -p output. |
So if anybody else runs into any build issues that might be related to the dependency code, please run this command:
and email me the make.log file (dhylands at gmaile dot com). Thanks |
I don't want to reopen but have you guys considered waf ? Might an end goal to be to create builds for various targets and make it easy to update efficiently when a header or any other file is touched appropriately. Oh and hey its Python, BSD, can be included, small, fast, efficient, blah blha blah... |
I'd rather stick to something bog standard (ie make). I don't want to introduce extra build dependencies if it can be helped. Maybe in the future using make gets out of hand and we need to switch to something else, but for now it'll do :) |
This prevents the SERCOM from blipping the data line on each transaction and therefore fixes micropython#219.
The biggest difference is that object files now go into directory inside build based on where they came from.
I updated unix, unix-cpy, stm, and teensy
py/mkenv.mk primarily sets up variables and only lists a single target called all
py/mkrules.mk primarily contains rules