If not, how does a contract such as an ERC20 get deployed if each output has its own ABI and Binary file?
When compiling with truffle, and looking at A.json (where A imports B and C) it seems that it also includes the ABI and Bytecode for B and C. Is this some magic that truffle is doing? Or is this inherently built into Solc.