write usage() function
Makefile: add -Wno-unused-function
implement exit_failure()