multi-device support and multi-file Makefile

add support of multi-device with a driver and test directory multi-file
compile