I'm porting a proprietary Windows DLL and demo app to Linux and I'm trying to figure out the best way to structure the build system. I'm trying to figure out how to use autoconf, automake, and libtool and whether I need to restructure my project.
My existing directory structure is like this: include/MyLibrary/*.h // public headers src/MyLibrary/*.{cpp,h} // DLL sources src/MyApp/*.{cpp,h} demo application src/Vendor/lib1/*.{cpp,h} // my vendor's first library src/Vendor/lib2/*.{cpp,h} // my vendor's second library, depends on 1st src/Vendor/include/*.h // target where vendor's public headers get //copied lib/*.dll // for Windows, where the DLL and app gets // installed before packaging I statically link the DLL to the vendor's libraries. My top-level build file (a Windows "solution") is in the demo app directory, so that I can build the app, the DLL, and everything they depend on with one button. When I package under Windows, I just grab everything in the include and lib top-level directories. What's the best way to integrate this scheme into a Linux build? Will I need to shuffle all the directories around into a hierarchy? Can I get something equivalent with clever use of symbolic links?