The custom type target (for a case of providing installable data) must have the following characteristics:
- Target name is always phony. The exact files produced by this target are mentioned under the
output key
- The files required by the output to produce are listed under
sources key
- This type must use the data keyed at
usein so that it's pinned into either install-TARGET-runtime or install-TARGET-devel make targets
- When the target is a dependency of a library, then it must be produced before building the library. This might be also non-installable in this case
- When (REVERSE TO THE ONE ABOVE!) the target is dependent on a library, then it must have installation rule defined - the install directory as well as the
usein key. This only means that the library must be built prior to running the actions for data target.
- The make's install target for this target must be built, both
install-TARGET-devel and install-TARGET-runtime bound together with install-TARGET. Which of the first two will be placed the installation action to, depends on the usein key.
Overall fix:
- The general
install-devel and install-runtime targets must be defined, but not necessarily as dependencies of install (this target should integrate all installation targets, regardless of affiliations). The install-runtime must select all installation targets that are (also indirectly) derived from all target and have form of runtime installation - that is, it is so for programs, runtime-usein data, and libraries. The install-devel must embrace everything else that has installation target and does not match the "install-runtime" category.
The
customtype target (for a case of providing installable data) must have the following characteristics:outputkeysourceskeyuseinso that it's pinned into eitherinstall-TARGET-runtimeorinstall-TARGET-develmake targetsuseinkey. This only means that the library must be built prior to running the actions for data target.install-TARGET-develandinstall-TARGET-runtimebound together withinstall-TARGET. Which of the first two will be placed the installation action to, depends on theuseinkey.Overall fix:
install-develandinstall-runtimetargets must be defined, but not necessarily as dependencies ofinstall(this target should integrate all installation targets, regardless of affiliations). Theinstall-runtimemust select all installation targets that are (also indirectly) derived fromalltarget and have form of runtime installation - that is, it is so for programs, runtime-usein data, and libraries. Theinstall-develmust embrace everything else that has installation target and does not match the "install-runtime" category.