Thanks much this has me a little more on track.
I looked over the header files, and almost every one appears to already have guards in place. BTW, this is proving a good lesson in the concept for me :)
For good measure, and after reading the articles, I also put #pragma once at the top of all header files just in case.
Unfortunately no luck. Looks like my errors are coming from the C files and not the headers. For example:
build/can-utils-master-edit/slcan_attach.o: In function main': slcan_attach.c:(.text.startup+0x1): multiple definition ofmain'
build/can-utils-master-edit/bcmserver.o:bcmserver.c:(.text.startup+0x1): first defined here
Is placing guards in C file ALSO advised?