For direct dependencies, there will be one or more mtb files somewhere in your project (typically in the deps directory but could be anywhere except the libs directory). An mtb file is simply a text file with the extension mtb that has three fields separated by #:
- A URL to a Git repository somewhere that is accessible by your computer, such as GitHub
- A Git Commit Hash or Tag that tells which version of the library that you want
- A path to where the library should be stored in the shared location (that is, the directory path underneath mtb_shared).
A typical mtb file looks like this:
https://github.com/cypresssemiconductorco/retarget-io/#latest-v1.X#$$ASSET_REPO$$/retarget-io/latest-v1.X
The variable $$ASSET_REPO$$ points to the root of the shared location - it
is specified in the application's Makefile. If you want a library to be local to the
app instead of shared, you can use $$LOCAL$$ instead of
$$ASSET_REPO$$ in the mtb file before downloading the libraries.
Typically, the version is excluded from the path for local libraries since there can only
be one local version used in a given application. Using the above example, a library local
to the app would normally be specified like this:
https://github.com/cypresssemiconductorco/TARGET_CY8CKIT-062S2-43012/#latest-v1.X#$$LOCAL$$/TARGET_CY8CKIT-062S2-43012