Writing code and flash it on Android devices (Nexus 7) or Linux

it is not possible (as in the IDE, which seems to do some magic) to access a function before it was declared. Maybe you need to reshuffle your functions in the source

This is true. I had a big discussion with some chap about it, and the upshot of it was that the IDE basically does a lot of "magic" that just isn't feasible (in a portable way, at least) from a makefile. Also, I say "magic", it actually amounts to accepting non-standard C and C++ code (the standards mandate that functions be declared or defined before use). And, worse still, in doing so it is effectively encouraging non-standard C/C++ code. :o(

Properly declaring/defining functions is the way forwards, in my opinion.

a problem with using float math occured, somehow we need to convince the linker to use c math

Is this something I should look at in the makefile? If so, can you provide me with a simple line of code that goes wrong, for testing purposes?