Sorry C gurus..
My mistake ... I will explain you..
This is c project having several 10s of folders. To have abstraction, i manipulated the make in such a way that i can build each module at their respective folders and can build whole project at the root.

Now .. To ensure that there is no conflict of variables, i have designed such a way that stuctures which need not be used by other modules are built private or built only for the module and make the libraries to link in the root. ..

Now i have a extention to make where i need to access the structures defined in the some module which is compiled locally, that is those header file structures are not identified out side the module.
Now i cannot make the header files globally visible for the project which is against our design ...

So how am i going to tweak it by using c programming logic..

Example:

Root ( it has make command for entire project)

Root
Dir 1 ( it has make file)
Dir 2 ( it has make file)
Dir 3 ( it has make file)
:
:
Dir n ( it has make file)

Now the make file has public ( seen for global) and Private files ( only for module)

Now i want to access the structures defined in Dir 3 ( private header files) in Dir 4.

Solutions rejected:
One way is to copy the said structure in global declaration to be used. (against design).
Just build the said header file as public ( Rejected against design having other complications of redefinitions)


So is there any other way of accessing this structures please...