modify complie macro