repair freebsd makefile

NOTE: this should be brought more into line with the
linux makefile, or maybe parts could be abstracted out at least.
or use a generator!