Add support for multiple programs by creating dynamic and static libraries