Support madvise() system call

The madvise() system call advises the kernel about paging policy
for a memory mapping. It requires _BSD_SOURCE to be defined.
Makefile: Rewrite crc32sum rule

Rewrite crc32sum rule to use variables, resulting in a cleaner Makefile.
Also, pass additional flags (-Werror -O2) to the c compiler.