rework device selection
- the first target now is used for the device name and is always required.
- also include the makefile for the selected target only so we don't have to prefix
  every device specific target to prevent naming conflicts