2 # $FreeBSD: Mk/bsd.emacs.mk 315598 2013-03-30 05:13:30Z ashish $
4 # bsd.emacs.mk - 19990829 Shigeyuki Fukushima.
7 Emacs_Include= bsd.emacs.mk
8 Emacs_Include_MAINTAINER= ashish@FreeBSD.org
10 EMACS_PORT_NAME?= emacs24
13 # This file for ports which depend on emacs family.
14 # Define EMACS_PORT_NAME variable before bsd.port.[pre.]mk
15 # and it will automatically include this file.
17 # This file exports the following common variables:
20 # emacsen's command-line basename.
21 # ex.) "emacs" when emacsen is a emacs-20.6.
25 # ex.) "20.6" when emacsen is a emacs-20.6.
28 # emacsen's major version.
29 # ex.) "20" when emacsen is a emacs-20.6.
32 # emacsen's library directory name without ${PREFIX}.
33 # ex.) "share/emacs" when emacsen is a emacs-20.6.
35 # EMACS_LIBDIR_WITH_VER:
36 # emacsen's version specific library directory name
38 # ex.) "share/emacs/20.6" when emacsen is a emacs-20.6.
41 # emacsen's command-line filename. (full path)
42 # ex.) "/usr/local/bin/emacs-20.6" when emacsen is a
43 # emacs-20.6 and ${PREFIX} is "/usr/local".
46 # emacsen's site-lisp directory name without ${PREFIX}.
47 # ex.) "share/emacs/site-lisp" when emacsen is a emacs-20.6.
49 # EMACS_VERSION_SITE_LISPDIR:
50 # emacsen's version specific site-lisp directory name
52 # ex.) "share/emacs/20.6/site-lisp" when emacsen is a
55 # EMACS_NO_BUILD_DEPENDS:
56 # If set "YES" to this variable, port does not
57 # build-depend on EMACS_PORT_NAME's emacsen.
59 # EMACS_NO_RUN_DEPENDS:
60 # If set "YES" to this variable, port does not
61 # run-depend on EMACS_PORT_NAME's emacsen.
64 EMACS_MASTERDIR_PKGFILES?= NO
67 .if (${EMACS_PORT_NAME} == "emacs21")
71 EMACS_LIBDIR?= share/${EMACS_NAME}
72 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
73 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs21
76 EMACS_NO_SUBDIRSEL= NO
77 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
78 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
79 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
80 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
84 .elif (${EMACS_PORT_NAME} == "emacs22")
88 EMACS_LIBDIR?= share/${EMACS_NAME}
89 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
90 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs22
93 EMACS_NO_SUBDIRSEL= NO
94 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
95 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
96 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
97 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
101 .elif (${EMACS_PORT_NAME} == "emacs23")
105 EMACS_LIBDIR?= share/${EMACS_NAME}
106 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
107 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs
108 EMACS_COMMON_PORT= NO
110 EMACS_NO_SUBDIRSEL= NO
111 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
112 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
113 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
114 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
118 .elif (${EMACS_PORT_NAME} == "emacs24")
122 EMACS_LIBDIR?= share/${EMACS_NAME}
123 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
124 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs
125 EMACS_COMMON_PORT= NO
127 EMACS_NO_SUBDIRSEL= NO
128 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
129 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
130 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
131 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
134 # Emacs-24.x (development version)
135 .elif (${EMACS_PORT_NAME} == "emacs-devel")
139 EMACS_LIBDIR?= share/${EMACS_NAME}
140 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
141 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs-devel
142 EMACS_COMMON_PORT= NO
144 EMACS_NO_SUBDIRSEL= NO
145 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
146 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
147 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
148 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
152 .elif (${EMACS_PORT_NAME} == "xemacs21")
156 EMACS_LIBDIR?= lib/${EMACS_NAME}
157 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
158 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs
159 EMACS_COMMON_PORT= NO
161 EMACS_NO_SUBDIRSEL= NO
162 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
163 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
164 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
165 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
168 # XEmacs-21.x with Mule
169 .elif (${EMACS_PORT_NAME} == "xemacs21-mule")
173 EMACS_LIBDIR?= lib/${EMACS_NAME}
174 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
175 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs21-mule
176 EMACS_COMMON_PORT= NO
178 EMACS_NO_SUBDIRSEL= NO
179 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
180 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
181 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
182 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
185 # XEmacs-21 development version
186 .elif (${EMACS_PORT_NAME} == "xemacs-devel")
190 EMACS_LIBDIR?= lib/${EMACS_NAME}
191 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
192 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs-devel
193 EMACS_COMMON_PORT= NO
195 EMACS_NO_SUBDIRSEL= NO
196 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
197 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
198 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
199 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
202 # XEmacs-21 development version with Mule
203 .elif (${EMACS_PORT_NAME} == "xemacs-devel-mule") || \
204 (${EMACS_PORT_NAME} == "xemacs-mule-xft")
208 EMACS_LIBDIR?= lib/${EMACS_NAME}
209 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
210 .if ${EMACS_PORT_NAME} == "xemacs-mule-xft"
211 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs-devel-mule-xft
213 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs-devel-mule
215 EMACS_COMMON_PORT= NO
217 EMACS_NO_SUBDIRSEL= NO
218 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
219 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
220 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
221 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
226 @${ECHO} "Makefile error: Bad value of EMACS_PORT_NAME: ${EMACS_PORT_NAME}."
227 @${ECHO} "Valid values are:"
228 @${ECHO} " Emacs family: emacs21 emacs22 emacs23 emacs24"
229 @${ECHO} " emacs-devel"
230 @${ECHO} " XEmacs family: xemacs21 xemacs21-mule xemacs-devel"
231 @${ECHO} " xemacs-devel-mule xemacs-mule-xft"
240 # find where emacsen is installed
241 # look for it in PREFIX first and fall back to LOCALBASE then
242 .if exists(/bin/${EMACS_NAME}-${EMACS_VER})
243 EMACS_BASE?= ${PREFIX}
245 EMACS_BASE?= ${LOCALBASE}
247 # emacsen command-line filename
248 EMACS_CMD?= ${EMACS_BASE}/bin/${EMACS_NAME}-${EMACS_VER}
249 # emacsen core elisp filename
250 EMACS_CORE_DIR= ${EMACS_LIBDIR_WITH_VER}/lisp/${EMACS_CORE_SUBDIR}
251 EMACS_COREEL= ${EMACS_BASE}/${EMACS_CORE_DIR}/startup.el
252 # emacsen libdir without ${LOCALBASE}
253 EMACS_SITE_LISPDIR?= ${EMACS_LIBDIR}/site-lisp
254 EMACS_VERSION_SITE_LISPDIR?= ${EMACS_LIBDIR_WITH_VER}/site-lisp
256 # build&run-dependency
257 EMACS_NO_BUILD_DEPENDS?= NO
258 EMACS_NO_RUN_DEPENDS?= NO
259 .if (${EMACS_NO_BUILD_DEPENDS} == "NO")
260 BUILD_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTSDIR}
262 .if (${EMACS_NO_RUN_DEPENDS} == "NO")
263 .if defined(EMACS_COMMON_PORT) && (${EMACS_COMMON_PORT} == "YES")
264 RUN_DEPENDS+= ${EMACS_COREEL}:${EMACS_PORTSDIR}-common
266 RUN_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTSDIR}
270 # environments for build
271 MAKE_ARGS+= EMACS=${EMACS_CMD} XEMACS=${EMACS_CMD}
272 SCRIPTS_ENV+= EMACS_LIBDIR=${EMACS_LIBDIR} \
273 EMACS_VER=${EMACS_VER} \
274 EMACS_LIBDIR_WITH_VER=${EMACS_LIBDIR_WITH_VER} \
275 EMACS_SITE_LISPDIR=${EMACS_SITE_LISPDIR} \
276 EMACS_VERSION_SITE_LISPDIR=${EMACS_VERSION_SITE_LISPDIR}
277 # pkg/PLIST substrings
278 PLIST_SUB+= EMACS_LIBDIR=${EMACS_LIBDIR} \
279 EMACS_VER=${EMACS_VER} \
280 EMACS_LIBDIR_WITH_VER=${EMACS_LIBDIR_WITH_VER} \
281 EMACS_SITE_LISPDIR=${EMACS_SITE_LISPDIR} \
282 EMACS_VERSION_SITE_LISPDIR=${EMACS_VERSION_SITE_LISPDIR}