Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to have type 'custom' handled correctly as data-delivering target #40

Open
ethouris opened this issue Nov 6, 2024 · 0 comments
Open

Comments

@ethouris
Copy link
Owner

ethouris commented Nov 6, 2024

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant