Create a new make rule for checking out submodules.#797
Closed
kapacuk wants to merge 1 commit into
Closed
Conversation
Contributor
Author
|
hm.. let me fix that build failure first. |
Contributor
Author
|
This does not work very well with |
Owner
|
yeah, the fetch submodules on-the-fly do not work well with -j option. And gcc may try to split task and I don't know, it doesn't seem to work well with dramatics file changes, similar to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Currently, if you do a fresh checkout of the tinyusb project and try to build a FreeRTOS example you get an error like this on the first run:
You have to run make again, which is a nuisance.
When you run make the first time the files
list.c,queue.c,tasks.candtimers.cdon't exist underlib/FreeRTOS-Kernel, so there are no rules to build the corresponding*.ofiles.This patch creates a new rule for checking out submodules, instead of doing it in the
$(shell)function. The rule initialises every submodule directory and create an empty submodule.mk file in it. These empty files are included into the main makefile, forcing make to re-read everything and rebuild all rules after this stage. As a result, make works successfully on the first run.