Macedonia has said it will no longer let any migrants through its border with Greece, effectively blocking the Balkan route north.