Fixes#123. Guards `_PSP_FW_VERSION` references with `#if defined()` to avoid the SDK headers returning warnings when compiling modules with the `-Wundef` cflag.
clock_t is defined in <time.h>, but not <sys/time.h> in newlib 4.1.0.
this fixes a compile error in files including this header:
In file included from psp-elf/bin/../psp/sdk/include/pspuser.h:25:0,
from psp-elf/bin/../psp/sdk/include/pspkernel.h:17,
from ./include/driver/me.h:5,
from src/me.c:1:
psp-elf/bin/../psp/sdk/include/psputils.h:51:1: error: unknown type name 'clock_t'
make[1]: *** [src/me.o] Error 1
encountered while trying to compile MElib.
Defining asm labels in inline assembly is not a good idea, according to
GCC docs it can result in labels being deleted (optimized away) or even
duplicated (see https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html).
This affects LTO linking, since LTO removes the four symbols and results
in undefined references. Using an ASM file makes sure that symbols exist
with the correct attributes.