Nadal beats Federer to make 12th French Open final