compile tool