move makefile to top, leave PROGNAME to nullptr
generate an APP
add Task class
update Task and write a test to Task
add Packet class