The company I work at has a git software repository consisting of many common and top-level software projects, where the top level projects will include various different common projects to generate the final binary-executable file. The build system runs on linux.
The problem we have is that our top level projects are a bit of a mess and have started to branch off. We are using a manual "make" system where we are editing files (make.config) to include correct version of the common projects.
Our release procedure is very manual. For example to do a local build (copy all projects to the local PC and build them) we have to modify export values (export VAR=value) and if we want to build from the latest built (stored on a server) we delete the export values.
The main issues we are seeing is that we struggle to keep all the projects pointing to the right common file versions, especially if a common project is up-versioned.
So, we are looking into what we can do to improve our situation. All ideas / answers welcome.