Add virtual library support (libspec type virtual)
Beside the static and dynamic libraries, there could be another type of library: virtual.
This actually wouldn't turn into a library file anyhow. Instead, it will simply collect all source files and then object files, and pass them whenever there's any other target (of type program or library) requesting it.
Example:
ag vlib -type library -libspec virtual -s file1.cc file2.cc
ag prg -type program -s main.cc -depends vlib
Produces the following rules:
phony vlib file1.ag.o file2.ag.o
# ... (rules for compiling file1.cc and file2.cc)
rule prg {
g++ -o prg main.ag.o file1.ag.o file2.ag.o
}