The answer to your question is #define goes in .c and .h files, not make makefiles. You have to #define the NAME before you can refer to it to get the VALUE so they are often right at the top of the code but don't have to be. The format is:
#define NAME VALUE
Includes are the same - you can't refer to something in the included file until after the #include line, so they too are usually at the top (but don't have to be).
If in doubt put them all at the top, the order doesn't much matter.
Does that help?