여기 새 포트를 만들때 사용할 수 있는 Makefile 예제가 있습니다. 모든 여분의 주석을 지우도록(각괄호 안의 것들도) 하세요!
이 형식을 따르는 것을 권장합니다(변수의 순서, 섹션 사이의 빈 줄 등.). 이 형식은 대부분의 중요한 정보를 찾기 쉽도록 디자인되었습니다. Makefile을 검사하기 위해서는 portlint 를 사용하는 것을 권장합니다.
[헤더... 포트를 구분하기 쉽도록 만듭니다.]
# New ports collection makefile for: xdvi
[필요 버전에 대한 헤더는 포트를 갱신할 때 같이 갱신되어야 합니다.]
# Version required: pl18 ["1.5alpha"같은것도 여기서는 좋습니다]
[이것은 이 Makefile의 최초 버전이 만들어진 날짜입니다.
포트를 갱신할 때에는 바꾸지 마세요.]
# Date created: 26 May 1995
[이것은 FreeBSD에 최초의 포트를 한 사람입니다. 특별하게는 이 Makefile의
최초 버전을 작성한 사람입니다. 기억하세요, 이것은 나중에 포트를
업그레이드해도 바뀌지 말아야 합니다.]
# Whom: Satoshi Asami <asami@FreeBSD.ORG>
#
# $Id$
[^^^^ 이것은 우리 저장소에 제출되면 자동적으로 CVS에 의해 RCS 문자열로
치환됩니다.]
#
[포트 자체와 마스터 사이트를 설명하는 섹션입니다 - DISTNAME이
항상 제일 먼저이고, 다음에 PKGNAME (필요하다면), CATEGORIES,
MASTER_SITES 순이며, 다음에 MASTER_SITE_SUBDIR이 나올 수 있습니다.
이 다음에 EXTRACT_SUFX나 DISTFILES가 지정될 수도 있습니다.]
DISTNAME= xdvi
PKGNAME= xdvi-pl18
CATEGORIES= print
[MASTER_SITE_* 매크로를 사용하지 않는다면
마지막에 붙는 슬래시("/")를 잊지 마세요!]
MASTER_SITES= ${MASTER_SITE_XCONTRIB}
MASTER_SITE_SUBDIR= applications
[소스가 표준 ".tar.gz" 형식을 갖지 않는다면 지정하세요]
EXTRACT_SUFX= .tar.Z
[배포 패치의 섹션입니다 -- 없을 수 있습니다]
PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/
PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz
[관리자; *필수*! 이는 사용자가 질문과 버그 리포트를 위해 접촉할 수 있는
사람입니다(제출 권한이 있다면 더 좋고) - 이 사람은 포터이거나 원본
포터에게 빨리 문제를 넘겨줄 수 있는 사람이어야 합니다. 만일 여기
주소를 쓰고 싶지 않다면, "ports@FreeBSD.ORG"로 지정하세요.]
MAINTAINER= asami@FreeBSD.ORG
[의존성 -- 없을 수 있습니다]
RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript
LIB_DEPENDS= Xpm.5:${PORTSDIR}/graphics/xpm
[이 섹션은 위 어느것에도 속하지 않는 다른 표준 bsd.port.mk
변수를 위한 것입니다]
[configure, build, install 동안 질문을 하는지]
IS_INTERACTIVE= yes
[${DISTNAME} 이외의 디렉토리에 풀어넣는다면...]
WRKSRC= ${WRKDIR}/xdvi-new
[배포 패치가 ${WRKSRC}에 상대적이지 않도록 만들어졌다면
조금 바꾸어야 할 것입니다]
PATCH_DIST_STRIP= -p1
[GNU autoconf가 만드는 "configure" 스크립트가 필요하다면]
GNU_CONFIGURE= yes
[컴파일하기 위해 /usr/bin/make가 아니라 GNU make가 필요하다면...]
USE_GMAKE= yes
[X 어플리케이션이고 "xmkmf -a" 를 실행해야 한다면...]
USE_IMAKE= yes
[등등..]
[비표준 변수는 아래 규칙에서 사용합니다]
MY_FAVORITE_RESPONSE= "좋다고요"
[그리고는 호출하는 순서 대로의 특별 규칙이 나옵니다]
pre-fetch:
받아오기 전에 해야 할 일, 흠
post-patch:
패치한 후에 해야 할 일, 좋아요
pre-install:
설치하기 전에 할일이 더 이다면, 와우
[그리고 끝말]
.include <bsd.port.mk>