I am writing c/winapi codes (mingw no ide just simple editor and commandline compiler)
Recently i esteblished maybe a bit unique (not sure) 'project system' I divided my source on very small modules (each is separately compiled to own .o file) then I link it together to final exe
Those modules are contained in large folder tree, each module source has its own folder so I got a large number of folders (say 400) containing small modules - it is also not flat set of folder but tree containing about four to five levels of depth (subfolders in subfolders )
it is working but i would like to make it maybe a bit of more comfortable,
there are maybe a two mayor uncomfortabilities here
1) header managment
each module exports of course its ow header
for simplicity i made one big header in the root of folder tree that includes all the small header down the folder tree (so i got one summa header having 400 lines of includes)
on the opposite each module includes that summaric folder - there is a little inconvenience becouse i must write something like
this "-I ..\..\..\" is needed for reach this main summaric header up the folder tree
2) object managment
like the same trouble i got with managing .o for linker,
all my .o lays in my big folder tree, so in command line for linker i must build a very long list (I said it is close to 400 modules (not all already on, because im revriting my old framweork)) of the paths to this obj files
Managing of this 400 headers references and 400 obj references is burdensome [adding one module may be not so much work but as i said those modules are small and often added, also refactoring, esp changing the folder structure is then extremally burdensome] and consumes an important amount of energy (on the other side this "multilevel of folders type of project" has some advantages (it is
well ordered, graphics modules are in one folder, window modules in another ) and finaly i dont know if i could hold the tree structure of the project minimalising the large amount of work managing all the references - and maybe to make it more clear yet (I need maximum possible clarity in all sources and tied managment scripts and binaries, )
Does has somebody some idea how i can improve this? Will some make maybe help with that (now i just use 400 .bat files for compiling each module , and one root .bat to link everything bats are not so burdensome, more burdensome is editing this summaric header file and the summaric linker commandline)