compile ports