Header files in uCR are always in a subdirectory. This provides some degree of name space protection for the header file names, and also makes clear where the header file comes from. Headers from the uCR core are in the ucr directory, such as <ucr/ucr.h> for the uCR primitive functions. The implementations of functions and classes are in libraries named after the subdirectory that contains the library. For example, the implementations of functions in <ucr/ucr.h> can be found in -lucr.
The only header files not in subdirectories are those defined by the C standard or C++ draft standard. There aren't many of those. Note that implementations of some of the C/C++ standard support comes from the <tt/-lucr/ library.
The header files are located in the directories $UCR/include and $UCR/$TARGET/include. The latter directory contains target specific header files or target specific versions of general header files. The include path when compiling with uCR must include these directories.
Make header files are pieces of make files and other shell scripts used by make files for compiling with uCR. These files live in $UCR/make and end in .mk or .sh for makefiles or shell scripts.