Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to improve the makefiles of the example projects.
The goal is to make the examples easier to understand, use and maintain.
Changes:
tools.mk
file to specify either local or docker toolscommon.mk
file which includes all targets for ICE and ECP5README
to /examplesEvery project has it's own makefile.
There it can define its own properties (which source files, what package, etc.) and it implements its own targets if required.
The common makefile includes all different targets to call yosys, nextpnr and others.
The source of the tools can either be the local tools (default behaviour) or the docker tools by specifying
make USE=DOCKER=1
.Adding a new example can usually rely on the common.mk makefile.
All projects successfully generate a bitstream.
Current Issues:
icetime
andiceprog
can be accessed in the docker image. For now I've left their defintion intools.mk
blankcommon.mk
may be overwhelming to new users making the build process seem more complicated. Perhaps splitting these up into a makefile for Ice and one for ecp5?