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} == "emacs23")
71 EMACS_LIBDIR?= share/${EMACS_NAME}
72 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
73 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs
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} == "emacs24")
88 EMACS_LIBDIR?= share/${EMACS_NAME}
89 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
90 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs
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}
100 # Emacs-24.x (development version)
101 .elif (${EMACS_PORT_NAME} == "emacs-devel")
105 EMACS_LIBDIR?= share/${EMACS_NAME}
106 EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
107 EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs-devel
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} == "xemacs21")
122 EMACS_LIBDIR?= lib/${EMACS_NAME}
123 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
124 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs
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 # XEmacs-21.x with Mule
135 .elif (${EMACS_PORT_NAME} == "xemacs21-mule")
139 EMACS_LIBDIR?= lib/${EMACS_NAME}
140 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
141 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs21-mule
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}
151 # XEmacs-21 development version
152 .elif (${EMACS_PORT_NAME} == "xemacs-devel")
156 EMACS_LIBDIR?= lib/${EMACS_NAME}
157 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
158 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs-devel
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 development version with Mule
169 .elif (${EMACS_PORT_NAME} == "xemacs-devel-mule") || \
170 (${EMACS_PORT_NAME} == "xemacs-mule-xft")
174 EMACS_LIBDIR?= lib/${EMACS_NAME}
175 EMACS_LIBDIR_WITH_VER?= lib/${EMACS_NAME}-${EMACS_VER}
176 .if ${EMACS_PORT_NAME} == "xemacs-mule-xft"
177 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs-devel-mule-xft
179 EMACS_PORTSDIR= ${PORTSDIR}/editors/xemacs-devel-mule
181 EMACS_COMMON_PORT= NO
183 EMACS_NO_SUBDIRSEL= NO
184 .if (${EMACS_MASTERDIR_PKGFILES} == "YES")
185 COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
186 DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
187 PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
192 @${ECHO} "Makefile error: Bad value of EMACS_PORT_NAME: ${EMACS_PORT_NAME}."
193 @${ECHO} "Valid values are:"
194 @${ECHO} " Emacs family: emacs23 emacs24 emacs-devel"
195 @${ECHO} " XEmacs family: xemacs21 xemacs21-mule xemacs-devel"
196 @${ECHO} " xemacs-devel-mule xemacs-mule-xft"
205 # find where emacsen is installed
206 # look for it in PREFIX first and fall back to LOCALBASE then
207 .if exists(/bin/${EMACS_NAME}-${EMACS_VER})
208 EMACS_BASE?= ${PREFIX}
210 EMACS_BASE?= ${LOCALBASE}
212 # emacsen command-line filename
213 EMACS_CMD?= ${EMACS_BASE}/bin/${EMACS_NAME}-${EMACS_VER}
214 # emacsen core elisp filename
215 EMACS_CORE_DIR= ${EMACS_LIBDIR_WITH_VER}/lisp/${EMACS_CORE_SUBDIR}
216 EMACS_COREEL= ${EMACS_BASE}/${EMACS_CORE_DIR}/startup.el
217 # emacsen libdir without ${LOCALBASE}
218 EMACS_SITE_LISPDIR?= ${EMACS_LIBDIR}/site-lisp
219 EMACS_VERSION_SITE_LISPDIR?= ${EMACS_LIBDIR_WITH_VER}/site-lisp
221 # build&run-dependency
222 EMACS_NO_BUILD_DEPENDS?= NO
223 EMACS_NO_RUN_DEPENDS?= NO
224 .if (${EMACS_NO_BUILD_DEPENDS} == "NO")
225 BUILD_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTSDIR}
227 .if (${EMACS_NO_RUN_DEPENDS} == "NO")
228 .if defined(EMACS_COMMON_PORT) && (${EMACS_COMMON_PORT} == "YES")
229 RUN_DEPENDS+= ${EMACS_COREEL}:${EMACS_PORTSDIR}-common
231 RUN_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTSDIR}
235 # environments for build
236 MAKE_ARGS+= EMACS=${EMACS_CMD} XEMACS=${EMACS_CMD}
237 SCRIPTS_ENV+= EMACS_LIBDIR=${EMACS_LIBDIR} \
238 EMACS_VER=${EMACS_VER} \
239 EMACS_LIBDIR_WITH_VER=${EMACS_LIBDIR_WITH_VER} \
240 EMACS_SITE_LISPDIR=${EMACS_SITE_LISPDIR} \
241 EMACS_VERSION_SITE_LISPDIR=${EMACS_VERSION_SITE_LISPDIR}
242 # pkg/PLIST substrings
243 PLIST_SUB+= EMACS_LIBDIR=${EMACS_LIBDIR} \
244 EMACS_VER=${EMACS_VER} \
245 EMACS_LIBDIR_WITH_VER=${EMACS_LIBDIR_WITH_VER} \
246 EMACS_SITE_LISPDIR=${EMACS_SITE_LISPDIR} \
247 EMACS_VERSION_SITE_LISPDIR=${EMACS_VERSION_SITE_LISPDIR}