The facility of "output category specification" should work for all targets, and there must function at least the following categories:
- default - should return the first existing output file from the list
- all - should return the list of all output files
- none - should always map to an empty output file
Currently the library target type supports the output category specification by -libspec key. Consider changing the name to a more general name -outspec (or provide -outspec key as a more low-level option, only when you simultaneously provide the -output files manually). The only category names for that case are shared and static and they can also be used when using -depends key.
This should extend the output category specification to anything, and strict naming concerns only the library type target. For example, you should be able to define such a custom target where you spell up the categories and output files assigned to them in the same order, e.g.:
ag langen -type custom -outspec lexer parser -output lex.ll.c parser.yy.c -command ...
This way you can then have another two:
ag lexer -type program -depends langen/lexer
ag parser -type program -depends langen/parser
The facility of "output category specification" should work for all targets, and there must function at least the following categories:
Currently the library target type supports the output category specification by
-libspeckey. Consider changing the name to a more general name-outspec(or provide-outspeckey as a more low-level option, only when you simultaneously provide the-outputfiles manually). The only category names for that case aresharedandstaticand they can also be used when using-dependskey.This should extend the output category specification to anything, and strict naming concerns only the
librarytype target. For example, you should be able to define such acustomtarget where you spell up the categories and output files assigned to them in the same order, e.g.:This way you can then have another two: