This version can adjust different platform by configuration in Makefile