change makefile to support incremental compile