Use void* instead of caddr_t.
Include stdio.h (for perror(3)).
Print addresses as unsigned long (%lx).
Add #pragma to ignore -Wfree-nonheap-object.
Improve Makefile and remove optional tests.