Hi Greg,
Even inside Eclipse, IDF uses the Make-based IDF build system.
To add files inside "main", edit the component.mk file in the main directory and add a COMPONENT_SRCDIRS variable. The default value is "." but you can expand this to add more directories (relative to the directory containing component.mk)
For libraries like libssh or protobuf, I would recommend adding a new component ("main" is a single component, it's kind of a special component as it doesn't live in the components directory). Create a directory "components" in your project directory (the same directory with the Makefile). Add sub-directories inside "components" for each individual component (ie components/libssh, components/protobuf), and place a component.mk file in each subdirectory.
Putting the libraries into separate components makes it easier to share them (they are self-contained, they could be separate git submodules or repositories, etc). It also allows you to do things like override compiler settings for that particular component (can be useful to disable warnings, pass macro values, etc.)
For full details, check the build system documentation here:
http://esp-idf.readthedocs.io/en/latest ... ystem.html .
Angus