The canonical way is to carefully choose where they should sit in the module hierarchy, and turn each project into a fully functional Cabal package, and then install them locally so that they are part of the namespace for your compiler locally.
Thus, each module is available for any source code that you write.
If (for example) you use the leksah IDE, this will do most of the work for you.
source share