SHAPE_DEPEND(1)
β¨ NAME β¨
shape_depend β okay so this is the shapeTools RMS girlie whose whole job is figuring out your source-include dependencies π
(and yes, the manual page itself is called SHAPE_DEPEND(1), so now you know her full government name π«Ά)
πΈ SYNOPSIS πΈ
shape depend [VERSIONS=<selection_rule>] [variants]
π¦ DESCRIPTION π¦
So here's the tea, bestie β: the shape release management system needs, for each node system, a file literally named Dependencies β and that file has to list all the source-derived dependencies of the node components. Nobody wants to write that by hand, obviously π. So shape depend just... does it for you β¨. It automatically figures out those dependencies and creates a perfectly appropriate Dependencies file. And the format? It's giving regular Makefile target-dependents lines, except with no associated build action attached. Clean, minimal, iconic π
Note:shape dependonly works for development of C programs. It additionally requires a C compiler that supports the-Moption (you know, the generate-Makefile-dependencies one). If that's not the case in your development project, you have to either rewrite the action associated with thedependtarget (it lives in$(SHAPELIBPATH)/stdtargets) or maintain theDependenciesfiles manually π no cap, those are your only two options.
The VERSIONS macro defines the version selection rule to be used. Default is most_recent β. Wanna know the other possible settings? Go peek at shape_stdrul(7) or the $(SHAPELIBPATH)/stdrules file. And yes, you can absolutely use your own self-defined version selection rules as a VERSIONS rule β main character energy, we love to see it π.
Now, if your development environment contains variant definitions β especially variant definitions that modify the list of source components to be used during a build operation β you may also need to specify one or more variants to be set. The project-wide variant raster is defined in $(SHAPELIBPATH)/stdvar. So before you invoke shape depend, check that file π and check the default variant settings in your Shapefile. Vibe check your config first, fr fr.
π INCONVENIENCES π
Not everything is a slay, and we're being honest about it:
- Regeneration of the
Dependenciesfile due to structural changes of the node system has to be triggered manually. Shape RMS does not recognize such changes. Like, it's not gonna notice, bestie, you have to tell it π. - Variant specific
Dependenciesfiles β which you'd need when simultaneously developing structurally different variants β are not supported. In this case you have to runshape dependprior to each build action. Every. Single. Time. π
π FILES π
$(SHAPELIBPATH)/stdrules$(SHAPELIBPATH)/stdtargets$(SHAPELIBPATH)/stdvar
π SEE ALSO π
shape_RMS (1)
And that's the whole page, babe π this one's from version 12.10.126 of the shapeTools crew β go forth, generate those dependencies, and remember: run it manually or it literally will not happen π«Άβ¨
π¦ where this page comes from
- debian bookworm: shapetools 1.4pl6-15+b1
- ubuntu jammy: shapetools 1.4pl6-15
- ubuntu noble: shapetools 1.4pl6-16.1build1
- ubuntu questing: shapetools 1.4pl6-16.1build1
- ubuntu resolute: shapetools 1.4pl6-17
- ubuntu stonking: shapetools 1.4pl6-17
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms