[macemacsjp-cvs 325] CVS update: CarbonEmacsPackage

Back to archive index

Eiji Honjoh saiki****@users*****
2006年 4月 10日 (月) 21:32:44 JST


Index: CarbonEmacsPackage/Makefile_Panther.mk
diff -u /dev/null CarbonEmacsPackage/Makefile_Panther.mk:1.1
--- /dev/null	Mon Apr 10 21:32:44 2006
+++ CarbonEmacsPackage/Makefile_Panther.mk	Mon Apr 10 21:32:44 2006
@@ -0,0 +1,645 @@
+#
+#  Carbon Emacs パッケージ
+#  http://homepage.mac.com/zenitani/emacs-j.html
+#  http://homepage.mac.com/zenitani/emacs-e.html
+#  http://homepage.mac.com/zenitani/emacs-fr.html
+#
+#  Emacs 本体と同梱ライブラリの作成レシピです。
+#  ネットワークインストール対応ライブラリも
+#  ほぼ同じ書式で記述しています。
+#
+#  $Id: Makefile_Panther.mk,v 1.1 2006/04/10 12:32:44 saiki Exp $
+#
+###############################################################
+
+# 作成手順は下記の Wiki ページを参照して下さい。
+#
+# http://macwiki.sourceforge.jp/cgi-bin/wiki.cgi?MakingOfCarbonEmacsPackage
+
+# パッケージ制作者が手動で書き換える部分
+#
+# VERSION      : 短いバージョン名(Emacs 的なバージョン番号)
+# LONG_VERSION : GetInfo ダイアログなどで用いるバージョン表記
+
+VERSION      = 22.0.50
+#LONG_VERSION = March, 2006; Carbon Emacs Package (Test Build)
+#LONG_VERSION = March, 2006; Carbon Emacs Package (Compatible)
+LONG_VERSION = March, 2006 (v2); Carbon Emacs Package by Eiji Honjoh et al.
+
+###############################################################
+
+UNAME          := $(shell uname -p)
+OS_VERSION     := $(shell sw_vers -productVersion | sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/')
+DATE           := $(shell date "+%Y%m%d")
+
+PACKAGE_DIR     = /Volumes/Emacs
+#PACKAGE_DIR     = /Applications
+PACKAGE_APP     = ${PACKAGE_DIR}/Emacs.app
+PACKAGE_BIN     = ${PACKAGE_APP}/Contents/MacOS/bin
+PACKAGE_EMACS   = ${PACKAGE_APP}/Contents/MacOS/Emacs
+PACKAGE_PREFIX  = ${PACKAGE_APP}/Contents/Resources
+PACKAGE_LIBRARY = ${PACKAGE_APP}/Contents/Library
+PACKAGE_SITEDIR = ${PACKAGE_PREFIX}/site-lisp
+PACKAGE_INFODIR = ${PACKAGE_PREFIX}/info
+TEMP_DMG        = test.dmg
+#PACKAGE_DMG    := EmacsCVS-macos${OS_VERSION}-${DATE}.dmg
+PACKAGE_DMG    := EmacsCVS-${UNAME}-${DATE}.dmg
+SDK             = /Developer/SDKs/MacOSX10.4u.sdk
+
+ELISP_CONFIGURE	= ./configure --with-emacs=${PACKAGE_EMACS} --prefix=${PACKAGE_PREFIX} --bindir=${PACKAGE_BIN} 
+ELISP_MAKE     	= make EMACS=${PACKAGE_EMACS} prefix=${PACKAGE_PREFIX}
+
+###############################################################
+
+all: 
+	@echo "[ src ]"
+	@echo "patch"
+	@echo "compile"
+	@echo "dmg"
+	@echo "pkg"
+	@echo "icon"
+	@echo "done"
+
+
+###############################################################
+
+# emacs のソースコードを取得します。
+# ソースは日々更新されています。
+src:
+	if [ -e emacs ] ; then rm -rf emacs; fi
+	export CVS_RSH="ssh" ; \
+	cvs -z3 -d:pserver:anony****@cvs*****:/sources/emacs co emacs
+#	cvs -z3 -d:pserver:anony****@cvs*****:/sources/emacs co -D "2006-03-16" emacs
+	tar jcvf GPL/EmacsCVS-src-`date +%Y%m%d`.tbz emacs
+	@echo "Be sure to apply im patch."
+
+# パッチを当てます。
+patch:
+	if [ ! -e emacs ] ; then tar jxvf GPL/EmacsCVS-src-*.tbz ; fi
+	cd emacs ; \
+	patch -p0 < ../GPL/patch/transparency2/transparency2.patch ; \
+	patch -p1 < ../GPL/patch/transparency2/transparency2-macui.patch ; \
+	patch -p0 < ../GPL/patch/emacs-inline.patch ; \
+	patch -p0 < ../GPL/patch/toolbar-button.patch ; \
+	patch -p0 < ../GPL/patch/mac-functions.patch ; \
+	patch -p0 < ../GPL/patch/puresize.patch ; \
+	patch -p0 < ../GPL/patch/fix-title-bar.patch ; \
+	patch -p0 < ../GPL/patch/fix-menu-bar.patch
+
+
+
+###############################################################
+
+# コンパイル手順
+# Fink の /sw ディレクトリがあると、システムのライブラリの代わりに
+# Fink のライブラリとリンクしてしまうことがありますので注意して下さい。
+
+# 事前準備
+# 追加 lisp ファイルのコピーとバージョン情報の書き換え
+_preflight:
+	if [ -e /sw ] ; then echo "/sw is found." ; exit -1 ; fi
+	cd emacs ; \
+	perl -i -p -e 'if(/GetInfo/){s/\".*\"/\"${LONG_VERSION}\"/;}' \
+	mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings ; \
+	cp -p ../Resources/Emacs.icns mac/Emacs.app/Contents/Resources/ ; \
+	cp -p ../GPL/lisp/utf-8m.el lisp/international/ ; \
+	cp -p ../GPL/lisp/ruby-mode.el lisp/progmodes/ ; \
+	cp -p ../GPL/lisp/carbon-emacs-package.el lisp/ ; \
+	perl -i -p -e 'if(/@@@@/){s/\".*\"/\"${LONG_VERSION}\"/;}' \
+		lisp/carbon-emacs-package.el ; \
+	cp -p ../GPL/lisp/site-*.el lisp/ ; \
+	rm -rf lisp/obsolete
+
+compile: _preflight
+ifeq (${os_version},10.3)
+# Panther 用
+	cd emacs ; \
+	env \
+	CFLAGS="-DUSE_ATSUI" \
+	./configure \
+		--prefix=/Applications/Emacs.app/Contents/Resources \
+		--with-carbon --without-x \
+                --libexecdir=${PACKAGE_APP}/Contents/MacOS/libexec ; \
+	make bootstrap
+else
+# Tiger 用 (G4に最適化は効いていない)
+	cd emacs ; \
+	env \
+	CFLAGS="-arch i386 -arch ppc -isysroot ${SDK} -DUSE_ATSUI" \
+	./configure \
+		--prefix=/Applications/Emacs.app/Contents/Resources \
+		--with-carbon --without-x \
+                --libexecdir=${PACKAGE_APP}/Contents/MacOS/libexec ; \
+	env PER_ARCH_CFLAGS_ppc="-fast -mcpu=7450" \
+	make bootstrap
+#	STARTFLAGS="-Wl,-syslibroot,${SDK} -arch i386 -arch ppc" \
+# ref. http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_compiling/chapter_2_section_7.html#//apple_ref/doc/uid/TP40002217-CH206-BAJJFEAC
+endif
+
+
+
+###############################################################
+
+# dmg ファイルを作って、Emacs をインストールします。
+dmg: 
+	if [ -e ${TEMP_DMG} ] ; then rm ${TEMP_DMG}  ; fi
+	if [ -e ${PACKAGE_DMG} ] ; then rm ${PACKAGE_DMG} ; fi
+	hdiutil create -size 256m -type UDIF -fs HFS+ -volname "Emacs" -layout NONE ${TEMP_DMG}
+	hdid test.dmg
+	cd emacs; \
+	/Developer/Tools/CpMac -r mac/Emacs.app ${PACKAGE_APP}; \
+	make install prefix=${PACKAGE_PREFIX} carbon_appdir=`${PACKAGE_DIR}` GZIP_PROG=""
+#	Stop to compress *.el files in order to create smaller dmg file.
+#	dmg ファイルの圧縮効率をあげるため、*.el を gzip 圧縮しないよう変更
+#	chmod 755 ${PACKAGE_PREFIX}/bin/emacs ${PACKAGE_PREFIX}/bin/emacs-${VERSION}
+#	see FAQ 1.10 <http://members.shaw.ca/akochoi-emacs/stories/faq.html>
+	mv ${PACKAGE_PREFIX}/bin ${PACKAGE_BIN}
+	mv ${PACKAGE_APP}/Contents/MacOS/libexec/emacs/${VERSION}/*/* ${PACKAGE_APP}/Contents/MacOS/libexec/
+	rm -rf ${PACKAGE_APP}/Contents/MacOS/libexec/emacs
+#	mv ${PACKAGE_PREFIX}/libexec/emacs/${VERSION}/powerpc-* ${PACKAGE_APP}/Contents/MacOS/libexec
+#	rm -rf ${PACKAGE_PREFIX}/libexec
+#	for d in etc leim lisp site-lisp ; do \
+#	       mv ${PACKAGE_PREFIX}/share/emacs/${VERSION}/$$d ${PACKAGE_PREFIX} ; \
+#	done
+	for d in etc leim lisp site-lisp ; do \
+		cd ${PACKAGE_PREFIX} ; ln -s share/emacs/${VERSION}/$$d ; \
+	done
+	if [ -e ${PACKAGE_PREFIX}/leim/ja-dic/ja-dic.el ] ; then \
+		rm ${PACKAGE_PREFIX}/leim/ja-dic/ja-dic.el  ; fi
+	rm -rf ${PACKAGE_PREFIX}/etc/*-ref.ps
+	rm -rf ${PACKAGE_PREFIX}/etc/*card.ps
+#	rm -rf ${PACKAGE_PREFIX}/share
+	cd ${PACKAGE_APP}/Contents/MacOS; rm Emacs; ln -s bin/emacs Emacs
+	cd ${PACKAGE_BIN}; rm emacs-${VERSION}; ln -s emacs emacs-${VERSION}
+	chmod 0755 ${PACKAGE_BIN}/emacs
+	find ${PACKAGE_APP} -type d -name CVS | xargs rm -rf
+	mkdir ${PACKAGE_DIR}/Documents
+	cp -p emacs/COPYING  ${PACKAGE_DIR}/Documents/License.txt
+	cp -p emacs/mac/README  ${PACKAGE_DIR}/Documents/ReadMe_Mac.txt
+	cp -p Resources/ReadMe.txt  ${PACKAGE_DIR}/Documents/ReadMe.txt
+	cp -p Resources/Background.png ${PACKAGE_DIR}/
+	mkdir ${PACKAGE_SITEDIR}/site-start.d
+
+
+###############################################################
+#
+# いろいろなパッケージのインストール/コンパイル手順
+#
+
+elisps: 
+	cp -p GPL/*.el ${PACKAGE_SITEDIR}/
+	cd  ${PACKAGE_SITEDIR}/ ; \
+	${PACKAGE_EMACS} -q --no-site-file -batch --eval \
+		'(progn (add-to-list (quote load-path) ".") (byte-recompile-directory "." 0))'
+	rm  ${PACKAGE_SITEDIR}/subdirs.elc
+
+mac-elisps: 
+	if [ -e ${PACKAGE_SITEDIR}/mac ] ; then \
+		rm -rf ${PACKAGE_SITEDIR}/mac ; fi
+	mkdir ${PACKAGE_SITEDIR}/mac
+	cp -p GPL/mac/*.el ${PACKAGE_SITEDIR}/mac
+	cd  ${PACKAGE_SITEDIR}/mac ; \
+	${PACKAGE_EMACS} -q --no-site-file -batch --eval \
+		'(progn (add-to-list (quote load-path) ".") (byte-recompile-directory "." 0))'
+
+_ruby-mode: ${PACKAGE_SITEDIR}/ruby-mode
+
+${PACKAGE_SITEDIR}/ruby-mode: 
+	mkdir ${PACKAGE_SITEDIR}/ruby-mode
+	cp -p GPL/ruby-mode/*.el ${PACKAGE_SITEDIR}/ruby-mode
+	cd  ${PACKAGE_SITEDIR}/ruby-mode ; \
+	${PACKAGE_EMACS} -q --no-site-file -batch --eval \
+		'(progn (add-to-list (quote load-path) ".") (byte-recompile-directory "." 0))'
+
+# # Mule UCS (unused)
+# _mule-ucs: ${PACKAGE_SITEDIR}/mule-ucs
+# 
+# ${PACKAGE_SITEDIR}/mule-ucs: 
+# 	cd mule-ucs ;\
+# 	${PACKAGE_EMACS} -q --no-site-file -batch -l mucs-comp.el
+# 	cp -pR mule-ucs/lisp  ${PACKAGE_SITEDIR}/mule-ucs
+
+
+_apel: ${PACKAGE_SITEDIR}/apel
+
+${PACKAGE_SITEDIR}/apel:
+	tar zxvf GPL/apel-*.tar.gz
+	cd apel-* ; \
+	make install EMACS=${PACKAGE_EMACS} LISPDIR=${PACKAGE_SITEDIR} \
+		VERSION_SPECIFIC_LISPDIR=${PACKAGE_SITEDIR}
+
+
+_flim: ${PACKAGE_SITEDIR}/flim
+
+${PACKAGE_SITEDIR}/flim: ${PACKAGE_SITEDIR}/apel
+	tar zxvf GPL/flim-*.tar.gz
+	cd flim-* ; \
+	make install EMACS=${PACKAGE_EMACS} LISPDIR=${PACKAGE_SITEDIR} \
+		VERSION_SPECIFIC_LISPDIR=${PACKAGE_SITEDIR}/emu
+
+
+_semi: ${PACKAGE_SITEDIR}/semi
+
+${PACKAGE_SITEDIR}/semi: ${PACKAGE_SITEDIR}/flim ${PACKAGE_SITEDIR}/apel
+	tar zxvf GPL/semi-*.tar.gz
+	cd semi-* ; \
+	make install EMACS=${PACKAGE_EMACS} LISPDIR=${PACKAGE_SITEDIR} \
+		VERSION_SPECIFIC_LISPDIR=${PACKAGE_SITEDIR}/emu
+
+# install-info でinfoファイルのコピーが行われるが、dir には登録されていない。
+# w3m を先にインストールしておかないと、elmo-shimbun がインストールされない。
+# ref. http://www.ki.nu/~makoto/diary/?0119
+_wl: ${PACKAGE_SITEDIR}/wl
+
+${PACKAGE_SITEDIR}/wl: ${PACKAGE_SITEDIR}/apel ${PACKAGE_SITEDIR}/flim ${PACKAGE_SITEDIR}/semi ${PACKAGE_SITEDIR}/w3m
+	tar zxvf GPL/wl-*.tar.gz
+	cp -p GPL/WL-CFG wl-*
+	cd wl-* ; \
+	${ELISP_MAKE} LISPDIR=${PACKAGE_SITEDIR} INFODIR=${PACKAGE_INFODIR} \
+		install info install-info
+	install-info wl-*/doc/wl.info ${PACKAGE_INFODIR}/dir
+	install-info wl-*/doc/wl-ja.info ${PACKAGE_INFODIR}/dir
+
+
+_2ch: ${PACKAGE_SITEDIR}/navi2ch
+
+${PACKAGE_SITEDIR}/navi2ch:
+	tar zxvf GPL/navi2ch-*.tar.gz
+	cd navi2ch-* ; \
+	${ELISP_CONFIGURE} \
+		--with-lispdir=${PACKAGE_SITEDIR}/navi2ch \
+		--with-icondir=${PACKAGE_PREFIX}/etc/navi2ch/icons ; \
+	${ELISP_MAKE} all install
+
+
+_w3m: ${PACKAGE_SITEDIR}/w3m
+
+${PACKAGE_SITEDIR}/w3m: ${PACKAGE_SITEDIR}/apel ${PACKAGE_SITEDIR}/flim
+	tar zxvf GPL/emacs-w3m-*.tar.gz
+	cd emacs-w3m-* ; \
+	${ELISP_CONFIGURE} \
+		--with-addpath=${PACKAGE_SITEDIR}/apel:${PACKAGE_SITEDIR}/flim:${PACKAGE_SITEDIR}/emu \
+		--with-lispdir=${PACKAGE_SITEDIR}/w3m \
+		--with-icondir=${PACKAGE_PREFIX}/etc/w3m/icons ; \
+	make; make install; make install-icons
+
+
+# # SKK。行儀が悪い(インストールするだけで一部のキーを上書きする)ようなので
+# # ネットインストールパッケージとして分離しています。
+# _skk: ${PACKAGE_SITEDIR}/skk
+# 
+# ${PACKAGE_SITEDIR}/skk: 
+# 	tar zxvf GPL/ddskk-*.tar.gz
+# 	cd ddskk-* ; \
+# 	cp -p ../GPL/SKK-JISYO.L dic/SKK-JISYO.L ; \
+# 	export  SKK_LISPDIR=${PACKAGE_SITEDIR}/skk \
+# 		SKK_INFODIR=${PACKAGE_INFODIR} \
+# 		SKK_DATADIR=${PACKAGE_PREFIX}/share/skk ; \
+# 	${ELISP_MAKE} install
+# #what-where
+
+
+_haskell: ${PACKAGE_SITEDIR}/haskell
+
+${PACKAGE_SITEDIR}/haskell: 
+	tar zxvf GPL/haskell-mode-*.tar.gz
+	cd haskell-mode-* ; \
+	${ELISP_MAKE}
+	if [ -e ${PACKAGE_SITEDIR}/haskell-mode ] ; \
+		then rm -rf ${PACKAGE_SITEDIR}/haskell-mode ; fi
+	mkdir ${PACKAGE_SITEDIR}/haskell-mode
+	cp -p haskell-mode-*/* ${PACKAGE_SITEDIR}/haskell-mode/
+
+# _yc:
+# 	tar zxvf GPL/yc-*.tar.gz
+# 	cd yc-* ; \
+# 	${ELISP_MAKE} all install elispdir=${PACKAGE_SITEDIR} INSTALL_PATH=${PACKAGE_BIN}
+
+# # modified BSD
+# _libeb: ${PACKAGE_PREFIX}/lib/libeb.dylib
+# 
+# ${PACKAGE_PREFIX}/lib/libeb.dylib: 
+# 	tar jxvf non-GPL/eb-*.tar.bz2
+# 	cd eb-* ; \
+# 	${ELISP_CONFIGURE} --with-iconv-includes=/usr/include \
+# 		--with-iconv-libraries=/usr/lib ; \
+# 	${ELISP_MAKE} all install
+
+# _eblook: ${PACKAGE_BIN}/eblook
+# 
+# ${PACKAGE_BIN}/eblook: ${PACKAGE_PREFIX}/lib/libeb.dylib
+# 	tar zxvf GPL/eblook-*.tar.gz
+# 	cd eblook-* ; \
+# 	${ELISP_CONFIGURE} ; \
+# 	${ELISP_MAKE} all install
+
+_lookup: ${PACKAGE_SITEDIR}/lookup
+
+${PACKAGE_SITEDIR}/lookup: 
+	tar zxvf GPL/lookup-*.tar.gz
+	cd lookup-* ; \
+	${ELISP_CONFIGURE} --with-lispdir=${PACKAGE_SITEDIR}/lookup ; \
+	${ELISP_MAKE} install
+
+_psgml: ${PACKAGE_SITEDIR}/psgml
+
+${PACKAGE_SITEDIR}/psgml: 
+	tar zxvf GPL/psgml-*.tar.gz
+	cd psgml-* ; \
+	${ELISP_CONFIGURE} ; \
+	${ELISP_MAKE} all install lispdir=${PACKAGE_SITEDIR}/psgml
+
+_imaxima: ${PACKAGE_SITEDIR}/imaxima
+
+${PACKAGE_SITEDIR}/imaxima:
+	tar zxvf GPL/imaxima-*.tar.gz
+	cd imaxima-* ; \
+	${ELISP_CONFIGURE} --with-lispdir=${PACKAGE_SITEDIR}/imaxima ; \
+	${ELISP_MAKE} all install
+
+
+_howm: ${PACKAGE_SITEDIR}/howm
+
+${PACKAGE_SITEDIR}/howm:
+	tar zxvf GPL/howm-*.tar.gz
+	cd howm-* ; \
+	patch -p0 < ../GPL/patch/howm-1.3.2.patch; \
+	${ELISP_CONFIGURE} --datadir=${PACKAGE_PREFIX}/etc ; \
+	${ELISP_MAKE} all install
+
+# mew(Universal Binary 対応)
+_mew: ${PACKAGE_SITEDIR}/mew
+
+${PACKAGE_SITEDIR}/mew:
+	tar zxvf non-GPL/mew-*.tar.gz
+ifeq (${OS_VERSION},10.3)
+#	PPC only
+	cd mew-* ; \
+	${ELISP_CONFIGURE} ; \
+	${ELISP_MAKE} all info jinfo install install-jinfo
+		elispdir=${PACKAGE_SITEDIR}/mew \
+		etcdir=${PACKAGE_SITEDIR}/mew/etc
+else
+#	UniversalBinary
+	cd mew-* ; \
+	env \
+	CFLAGS="-arch i386 -arch ppc -isysroot ${SDK}" \
+	${ELISP_CONFIGURE} ; \
+	${ELISP_MAKE} all info jinfo install install-jinfo \
+	LDFLAGS="-arch i386 -arch ppc -isysroot ${SDK}" \
+		elispdir=${PACKAGE_SITEDIR}/mew \
+		etcdir=${PACKAGE_SITEDIR}/mew/etc
+endif
+
+
+############################
+#  aspell
+#  小林さんの GETTEXT 対策を追加
+#  ref. [Macemacsjp-users 956]
+
+_aspell: ${PACKAGE_BIN}/aspell
+
+${PACKAGE_BIN}/aspell:
+	tar zxvf GPL/aspell-*.tar.gz
+	cd aspell-* ; \
+	perl -pi -e 's@^AM_GNU_GETTEXT@#AM_GNU_GETTEXT @ g;s @ po\/Makefile\.in@@g' configure.ac ; \
+	perl -pi -e 's@\ po\ @\ @g' Makefile.in ; \
+	autoconf ; \
+	${ELISP_CONFIGURE} --disable-shared --enable-static \
+	--enable-pkgdatadir=${PACKAGE_PREFIX}/lib/aspell-${UNAME} \
+	--enable-pkglibdir=${PACKAGE_PREFIX}/lib/aspell-${UNAME} ; \
+	perl -i -p -e 's@/usr/local/.*$$@@g;' Makefile ; \
+	${ELISP_MAKE} all install
+	rm ${PACKAGE_PREFIX}/lib/libaspell.*
+	rm ${PACKAGE_PREFIX}/lib/libpspell.*
+
+_aspell-en: ${PACKAGE_BIN}/aspell
+	tar jxvf non-GPL/aspell6-en-*.tar.bz2
+	cd aspell6-en-* ; \
+	PATH="$$PATH:${PACKAGE_BIN}" ./configure ; \
+	make install datadir=${PACKAGE_PREFIX}/lib/aspell-${UNAME} \
+		dictdir=${PACKAGE_PREFIX}/lib/aspell-${UNAME}
+
+_aspell-de: ${PACKAGE_BIN}/aspell
+	tar jxvf GPL/aspell6-de-*.tar.bz2
+	cd aspell6-de-* ; \
+	PATH="$$PATH:${PACKAGE_BIN}" ./configure ; \
+	make install datadir=${PACKAGE_PREFIX}/lib/aspell-${UNAME} \
+		dictdir=${PACKAGE_PREFIX}/lib/aspell-${UNAME}
+
+_aspell-it: ${PACKAGE_BIN}/aspell
+	tar jxvf GPL/aspell6-it-*.tar.bz2
+	cd aspell6-it-* ; \
+	PATH="$$PATH:${PACKAGE_BIN}" ./configure ; \
+	make install datadir=${PACKAGE_PREFIX}/lib/aspell-${UNAME} \
+		dictdir=${PACKAGE_PREFIX}/lib/aspell-${UNAME}
+
+# French aspell dictionary
+# Instruction is provided by P. J. Heslin
+# ref. http://www.dur.ac.uk/p.j.heslin/Software/Emacs/Easymacs/mac-aspell-dicts.php
+
+_aspell-fr: ${PACKAGE_BIN}/aspell
+	tar jxvf GPL/aspell-fr-*.tar.bz2
+	cd aspell-fr-* ; \
+	PATH="$$PATH:${PACKAGE_BIN}" ./configure ; \
+	PATH="$$PATH:${PACKAGE_BIN}" make all ; \
+	make install datadir=${PACKAGE_PREFIX}/lib/aspell-${UNAME} \
+		dictdir=${PACKAGE_PREFIX}/lib/aspell-${UNAME}
+
+#  aspell
+####################
+
+# yatex:
+# 	tar zxvf non-GPL/yatex*.tar.gz
+# 	cd yatex* ; DISPLAY=:0.0 \
+# 	${ELISP_MAKE} PREFIX=${PACKAGE_PREFIX} EMACSDIR=${PACKAGE_PREFIX} \
+# 		install install-info
+
+session.el:
+	tar zxvf GPL/session-*.tar.gz
+	cp -p session/lisp/session.el ${PACKAGE_SITEDIR}/
+	cd  ${PACKAGE_SITEDIR}/ ; \
+	${PACKAGE_EMACS} -q --no-site-file -batch --eval \
+		'(byte-compile-file "session.el")'
+
+# パーミッションがなぜか 555 になっている
+_ess: ${PACKAGE_SITEDIR}/ess
+
+${PACKAGE_SITEDIR}/ess:
+	tar zxvf GPL/ess-*.tar.gz
+	chmod 755 ess-*/doc/info # fix
+	chmod 755 ess-*/doc/html # fix
+	chmod 755 ess-*/doc/refcard # fix
+	cd ess-* ; \
+	${ELISP_MAKE} PREFIX=${PACKAGE_PREFIX} LISPDIR=${PACKAGE_SITEDIR}/ess \
+	INFODIR=${PACKAGE_PREFIX}/info ETCDIR=${PACKAGE_PREFIX}/etc/ess \
+	all install
+
+# auctex
+# ref. http://www.esm.psu.edu/mac-tex/installauctex.html (en)
+# ref. http://pop-club.hp.infoseek.co.jp/emacs/auctex-jp.html (jp)
+# preview-latex 対応のため、インストール時に最新の TeX + gs 環境が必要
+# site-start.d にもファイルがインストールされる
+# preview-latex 用のスタイルファイルを システムの TeX フォルダに
+# インストールしたくないときに --without-texmf-dir を用いる
+
+_auctex: ${PACKAGE_SITEDIR}/auctex
+
+${PACKAGE_SITEDIR}/auctex:
+	tar zxvf GPL/auctex-*.tar.gz
+	perl -i -p -e 's/kill-region/delete-region/g;' auctex-11.82/latex.el # 11.82 fix
+	cd auctex-* ; \
+	${ELISP_CONFIGURE} --without-texmf-dir \
+		--with-lispdir=${PACKAGE_SITEDIR} ; \
+	make all install
+
+
+_riece: ${PACKAGE_SITEDIR}/riece
+
+${PACKAGE_SITEDIR}/riece:
+	tar zxvf GPL/riece-*.tar.gz
+	cd riece-* ; \
+	${ELISP_CONFIGURE} --with-lispdir=${PACKAGE_SITEDIR} ; \
+	${ELISP_MAKE} install
+
+_emacs-wiki: ${PACKAGE_SITEDIR}/emacs-wiki
+
+${PACKAGE_SITEDIR}/emacs-wiki:
+	tar zxvf GPL/emacs-wiki-*.tar.gz
+	rm emacs-wiki-*/contrib/htmlize.el
+	cd emacs-wiki-* ; \
+	${ELISP_MAKE} INFODIR=${PACKAGE_INFODIR} \
+		ELISPDIR=${PACKAGE_SITEDIR}/emacs-wiki all install
+
+_slime: ${PACKAGE_SITEDIR}/slime
+
+${PACKAGE_SITEDIR}/slime:
+	tar zxvf GPL/slime-*.tar.gz
+	cp -pR slime-* ${PACKAGE_SITEDIR}/slime
+	cd  ${PACKAGE_SITEDIR}/slime ; \
+	${PACKAGE_EMACS} -q --no-site-file -batch --eval \
+		'(progn (add-to-list (quote load-path) ".") (byte-recompile-directory "." 0))'
+
+_mmm-mode: ${PACKAGE_SITEDIR}/mmm-mode
+
+${PACKAGE_SITEDIR}/mmm-mode:
+	tar zxvf GPL/mmm-mode-*.tar.gz
+	cd mmm-mode-* ; \
+	${ELISP_CONFIGURE} --with-lispdir=${PACKAGE_SITEDIR}/mmm-mode ; \
+	${ELISP_MAKE} install
+
+_nxml-mode: ${PACKAGE_SITEDIR}/nxml-mode
+
+${PACKAGE_SITEDIR}/nxml-mode:
+	tar zxvf GPL/nxml-mode-*.tar.gz
+	cd nxml-mode-* ; \
+	${ELISP_MAKE} ; \
+	mv *.info ${PACKAGE_INFODIR}
+	cp -pR nxml-mode-* ${PACKAGE_SITEDIR}/nxml-mode
+
+# python-mode
+# Pymacs というライブラリも別途必要
+# Pymacs is also necessary
+# http://www.emacswiki.org/cgi-bin/wiki?PyMacs
+_python-mode: ${PACKAGE_SITEDIR}/python-mode
+
+${PACKAGE_SITEDIR}/python-mode:
+	tar zxvf non-GPL/python-mode-*.tar.gz
+	cp -p GPL/python/pymacs.el python-mode-*
+	cd python-mode-* ; \
+	${PACKAGE_EMACS} -q --no-site-file -batch --eval \
+		'(progn (add-to-list (quote load-path) ".") (byte-recompile-directory "." 0))'
+	cp -pR python-mode-* ${PACKAGE_SITEDIR}/python-mode
+
+site-start.d:
+	cp -p GPL/site-start.d/*.el ${PACKAGE_SITEDIR}/site-start.d/
+
+# SmartActivate
+_activate:
+	cp -p GPL/SmartActivate/activate ${PACKAGE_BIN}/
+	chmod 755 ${PACKAGE_BIN}/activate
+	cp -p GPL/SmartActivate/activate.1 ${PACKAGE_PREFIX}/man/man1/
+
+# Coral
+# coral の改造版をアプリケーション内部にインストール
+_coral:
+	if [ ! -e ${PACKAGE_LIBRARY} ] ; then mkdir ${PACKAGE_LIBRARY} ; fi
+	tar zxvf non-GPL/coral/coral_app.tar.gz -C ${PACKAGE_LIBRARY}
+
+
+# 追加 lisp パッケージを作成、インストールする部分
+# _skk => provided by net-installer
+# _eb _eblook => 無理にリロケータブルにしない方が良い
+# _howm => エラー
+pkg: elisps mac-elisps _wl _w3m _haskell _lookup _psgml _imaxima _mew _aspell-en session.el _ess _auctex _riece _emacs-wiki _mmm-mode _nxml-mode _python-mode _slime _activate _coral site-start.d
+	open ${PACKAGE_DIR}
+	@echo "make icon"
+
+# Intel パート用の簡易版(Universal 化には、バイナリ本体と aspell のみ必要)
+pkg-intel: elisps mac-elisps _aspell-en _activate _coral site-start.d
+	open ${PACKAGE_DIR}
+
+icon:
+	if [ -e ${PACKAGE_DIR}/.Background.png ] ; then \
+		mv ${PACKAGE_DIR}/.Background.png ${PACKAGE_DIR}/Background.png ; \
+	fi
+	open ${PACKAGE_DIR}
+	osascript Resources/Rakuchin.applescript
+	osascript Resources/Rakuchin.applescript
+	osascript Resources/Rakuchin.applescript
+	if [ -e ${PACKAGE_DIR}/Background.png ] ; then \
+		mv ${PACKAGE_DIR}/Background.png ${PACKAGE_DIR}/.Background.png ; \
+	fi
+
+###############################################################
+#
+# Build 終了手順
+# Panther 用と Tiger 用とでは、終了手順が1カ所違います。
+# ( -format UDBZ の部分) Tiger のディスクイメージフォーマットは
+# 圧縮率が高く、ファイルサイズを小さくできます。
+#
+
+ifeq (${OS_VERSION},10.3)
+DMG_ARCHIVE_FLAGS = -format UDZO -imagekey zlib-level=9
+else
+DMG_ARCHIVE_FLAGS = -format UDBZ
+endif
+
+done:
+#	ditto -rsrcFork /Applications/Emacs.app /Volumes/Emacs/Emacs.app
+	if [ -e ${PACKAGE_DIR}/Background.png ] ; then \
+		cd ${PACKAGE_DIR} && mv Background.png .Background.png ; \
+	fi
+	hdiutil eject `df | grep ${PACKAGE_DIR} | cut -f1 -d\ `
+	hdiutil convert ${DMG_ARCHIVE_FLAGS} -o ${PACKAGE_DMG} ${TEMP_DMG}
+	/usr/bin/openssl sha1 ${PACKAGE_DMG}
+	open .
+
+###############################################################
+#
+# Universal Binary 作成用
+#
+
+universal:
+	@echo "Emacs (Universal) - Emacs 1 (ppc) - Emacs 2 (i386)"
+	for d in \
+		Emacs.app/Contents/MacOS/bin/emacs \
+		Emacs.app/Contents/MacOS/bin/aspell \
+		Emacs.app/Contents/MacOS/bin/prezip-bin \
+		Emacs.app/Contents/MacOS/bin/word-list-compress \
+		; do \
+		lipo -arch ppc /Volumes/Emacs\ 1/$$d -arch i386 /Volumes/Emacs\ 2/$$d \
+			-create -output /Volumes/Emacs/$$d ;\
+	done
+	cp -pR /Volumes/Emacs\ 2/Emacs.app/Contents/Resources/lib/aspell-* \
+		/Volumes/Emacs/Emacs.app/Contents/Resources/lib/aspell-i386
+
+universal-done:
+	if [ -e ${PACKAGE_DIR}/Background.png ] ; then \
+		mv ${PACKAGE_DIR}/Background.png ${PACKAGE_DIR}/.Background.png ; \
+	fi
+	hdiutil eject `df | grep ${PACKAGE_DIR} | cut -f1 -d\ `
+	hdiutil convert -format UDBZ -o EmacsCVS-Tiger-`date +%Y%m%d`.dmg test.dmg
+	open .
+
+# end


macemacsjp-cvs メーリングリストの案内
Back to archive index