FreeBSD 핸드북 : 어플리케이션 설치하기: 포트 콜렉션 : 직접 포트 만들기 : Makefile 예제
Previous: 해야 할 것과 하지 말아야 할 것
Next: 패키지 이름

4.7.9. Makefile 예제

여기 새 포트를 만들때 사용할 수 있는 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>


FreeBSD 핸드북 : 어플리케이션 설치하기: 포트 콜렉션 : 직접 포트 만들기 : Makefile 예제
Previous: 해야 할 것과 하지 말아야 할 것
Next: 패키지 이름