-
Notifications
You must be signed in to change notification settings - Fork 237
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
[doit] replace setups/osflow/Makefile with doit task(s) #167
Conversation
You are really hard-working! ;) What do you think about keeping all the makefiles at first until the documentation (especially the READMEs) is updated to use pydoit? |
In fact, I did most of these in July 😄. I'm now mostly reviewing and doing cleanup.
For now, I converted this PR to a draft, and I will do the enhancements to the documentation before considering merging it. Furthermore, while I do understand why some users might want to keep the Makefile entrypoint, honestly, I have mixed feelings about it. The main purpose of using doit is having a single entrypoint for users to see what they can execute ( The only motivation I see for sticking to makefiles is the inability to install Python and/or doit on some isolated environment. For those use cases, I'd prefer if we supported generating an ad-hoc makefile or script. For instance:
would generate a simple makefile which includes the data/variables for a single board and a single design. This is similar to GHDL's feature for generating a makefile, after the sources of a design are analysed/imported. That would allow to generate makefiles "offline" and then run it on isolated environments. Moreover, I'm concerned with extending the capabilities of Overall, although we don't need to solve/decide it in this PR, I believe it is important that we discuss if we'll need to preserve the makefile approach, or if the proposed makefile generation alternative is acceptable. /cc @tmeissner |
I totally agree and I am really looking forward to have a unified execution system. All those makefiles are (annoying) to maintain and document... I am just worried that we break existing setups the user have on their local systems. On the other hand, we are doing that every time there is non-backward compatible change in the actual hardware... 🤔 I just found myself in backwards-compatibility-hell after the major change of the low-level hardware access mechanism (#158). 😅
I think this would be a nice feature for the aforementioned situation 👍
Thank you so much! ❤️ |
@umarcor Since we have |
This is another PR in the series of subsets of #110 (#162, #163, #164, #165).
setups/osflow/Makefile
is replaced with doit tasks, plus some more elaborated Python code. Precisely, subdirtasks
contains helper Python code used by thedo.py
script.As discussed in #110, the idea is to enhance
tasks/project.py
in upcoming PRs, for it to be based on the ProjectModel from edaa-org; along with converting othersetups/osflow/*.mk
sources to Python (see section "Future work" in #110).