remove "-lgsl -lgslcblas -lm" from libraries
use := instead of = for definitions
move CFLAGS, LDFLAGS and LDLIBS below OUT and OBJ
introduce SRC and use it to generate OBJ
1) Introduce DEBUG env variable to change between building with and without debug symbols. 2) Remove the debug target.
introduce SILENTMSG and SILENTCMD for nice and clean compile/link/... messages
introduce VERBOSE env variable for switching between verbose and normal build
use $(CFLAGS) += ... instead of $(CFLAGS) := $(CFLAGS) ...
introduce DEP variable instead of using $(OBJ:.o=.d)