When opening a make file, hard tabs are always of 4 (in fact the indent width). As we use spaces/hard tabs with indent of 4 and hard tabs of 8, it switches to hard tabs width of 4 with makefiles.
If you poen a C file the hard tabs are of 8, which is normal. Then, if you switch the file type to makefile, the hard tabs become of width 4. If you reset the original file type to C (yes it's silly :)), the hard tabs width remains to 4.
I have modified the source of editor.c to correct this behaviour. For me it works, but I am not sure it will work in all cases.
The patch is joined.
Geany version: svn revision #5886