learning errno.h and makefile useful method