Better makefile semantics