add basic compile framework