add binary search tree (no test) and update Makefile

implement some api for binary search tree and haven't been tested.
update Makefile to add custom function define and next target is
that implement multi-target with the same Makefile template in
different subdirs.