Cocoa Emacs パッケージ
Cocoa Emacs をビルドする度に, Emacs.app/Contents/Resources 以下に elisp を入れるのが面倒なので, Makefile にしてみました.
$ make checkout $ make emacsinstall $ make apelinstall $ make installlib
とすることで, CVS から checkout して,で外部 elisp のインストールまでできます.
2回目からは, make update で checkout ではなく update できます.
中身は決して美しくないので, ダメ出ししていただけたらと思います(汗)
################################################################################# # # Cocoa-Emacs Makefile # # $Id: 2009-03-24.txt 783 2009-07-25 08:38:21Z nanasess $ # ################################################################################# PREFIX = /Users/nanasess/src/cocoa-emacs RM = /bin/rm -rfv TAR = tar xvzf CURL = curl -O SOURCE_DIR = $(EMACS_SRC) $(APEL_SRC) $(SKK_SRC) $(MEW_SRC) $(W3M_SRC) $(HOWM_SRC) ## Emacs Variables EMACS_SRC = emacs EMACS_APP = $(PREFIX)/$(EMACS_SRC)/nextstep/Emacs.app EMACS = $(EMACS_APP)/Contents/MacOS/Emacs EMACS_PREFIX = $(EMACS_APP)/Contents/Resources EMACS_BINDIR = $(EMACS_APP)/Contents/MacOS/bin INFO_DIR = $(EMACS_PREFIX)/info SITE_DIR = $(EMACS_PREFIX)/site-lisp # APEL Variables APEL_SRC = apel APEL_CFG = APEL-CFG APEL_DIR = $(SITE_DIR)/apel EMU_DIR = $(SITE_DIR)/emu APEL_MAKE_ENV = PREFIX=$(EMACS_PREFIX) APEL_DIR=$(APEL_DIR) EMU_DIR=$(EMU_DIR) EMACS=$(EMACS) # SKK Variables SKK_SRC = skk/main SKK_CFG = SKK-CFG SKK_DATADIR = $(EMACS_PREFIX)/etc/skk SKK_INFODIR = $(INFO_DIR) SKK_LISPDIR = $(SITE_DIR)/skk SKK_SET_JISYO = t # howm Variables HOWM_SRC = howm-test # Mew Variables MEW_SRC = mew # W3M Variables W3M_SRC = emacs-w3m # Muse Variables MUSE_SRC = muse-latest MUSE_CFG = Makefile.defs all: @echo "make checkout or make update" @echo "make emacsinstall" @echo "make apelinstall" @echo "make installlib" ################################################################################ # common targets ################################################################################ update: cd $(EMACS_SRC) && cvs -q update -dP cd $(APEL_SRC) && cvs -q update -dP cd $(MEW_SRC) && cvs -q update -dP cd $(W3M_SRC) && cvs -q update -dP buildlib: skkbuild howmbuild mewbuild w3mbuild musebuild installlib: skkinstall howminstall mewinstall w3minstall museinstall cleanall: emacsdistclean apelclean apelcfgclean skkclean skkcfgclean howmclean mewclean w3mclean musecfgclean sourceclean: $(RM) $(SOURCE_DIR) $(HOWM_SRC).* $(MUSE_SRC).* checkout: sourceclean checkoutemacs checkoutapel checkoutskk checkouthowm checkoutmew checkoutw3m checkoutmuse ################################################################################ # checkouts ################################################################################ checkoutemacs: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co $(EMACS_SRC) checkoutapel: cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root co $(APEL_SRC) checkoutskk: cvs -d :pserver:guest@openlab.jp:/circus/cvsroot checkout $(SKK_SRC) checkouthowm: $(CURL) http://howm.sourceforge.jp/a/$(HOWM_SRC).tar.gz ;\ $(TAR) $(HOWM_SRC).tar.gz checkoutmew: cvs -d :pserver:anoncvs@anoncvs.mew.org:/cvsmew co $(MEW_SRC) checkoutw3m: cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co $(W3M_SRC) checkoutmuse: $(CURL) http://mwolson.org/static/dist/muse-latest.tar.gz ;\ $(TAR) $(MUSE_SRC).tar.gz ################################################################################ # emacs targets ################################################################################ emacsbuild: cd $(EMACS_SRC); \ ./configure --with-ns; \ make emacsinstall: emacsbuild cd $(EMACS_SRC); \ make install emacsclean: cd $(EMACS_SRC); \ make clean emacsdistclean: cd $(EMACS_SRC); \ make distclean ################################################################################ # apel targets ################################################################################ apelcfg: cd $(APEL_SRC); \ echo '(setq PREFIX "$(EMACS_PREFIX)")' >> $(APEL_CFG); \ echo '(setq APEL_DIR "$(APEL_DIR)")' >> $(APEL_CFG); \ echo '(setq EMU_DIR "$(EMU_DIR)")' >> $(APEL_CFG); apelcfgclean: cd $(APEL_SRC); \ $(RM) $(APEL_CFG); \ cvs update $(APEL_CFG) apelbuild: apelcfg cd $(APEL_SRC); \ make what-where EMACS=$(EMACS); \ make EMACS=$(EMACS); \ apelinstall: apelbuild cd $(APEL_SRC); \ make install EMACS=$(EMACS); apelclean: cd $(APEL_SRC); \ make clean ################################################################################ # skk targets ################################################################################ skkcfg: cd $(SKK_SRC); \ echo '(setq PREFIX "$(EMACS_PREFIX)")' >> $(SKK_CFG); \ echo '(setq EMU_DIR "$(EMU_DIR)")' >> $(SKK_CFG); \ echo '(setq SKK_DATADIR "$(SKK_DATADIR)")' >> $(SKK_CFG); \ echo '(setq SKK_INFODIR "$(SKK_INFODIR)")' >> $(SKK_CFG); \ echo '(setq SKK_LISPDIR "$(SKK_LISPDIR)")' >> $(SKK_CFG); \ echo '(setq SKK_SET_JISYO $(SKK_SET_JISYO))' >> $(SKK_CFG); skkcfgclean: cd $(SKK_SRC); \ $(RM) $(SKK_CFG); \ cvs update $(SKK_CFG) skkbuild: skkcfg cd $(SKK_SRC); \ make what-where EMACS=$(EMACS); \ make EMACS=$(EMACS) skkinstall: skkbuild cd $(SKK_SRC); \ make install EMACS=$(EMACS) skkclean: cd $(SKK_SRC); \ make clean EMACS=$(EMACS) ################################################################################ # howm targets ################################################################################ howmbuild: cd $(HOWM_SRC); \ ./configure --with-emacs=$(EMACS) --prefix=$(PREFIX) \ --exec-prefix=$(EMACS_BINDIR); \ make howminstall: howmbuild cd $(HOWM_SRC); \ make install howmclean: cd $(HOWM_SRC); \ make distclean ################################################################################ # mew targets ################################################################################ mewbuild: cd $(MEW_SRC); \ ./configure --with-emacs=$(EMACS) --prefix=$(PREFIX) \ --bindir=$(EMACS_BINDIR) --with-elispdir=$(SITE_DIR)/mew \ --with-etcdir=$(SITE_DIR)/etc --infodir=$(INFO_DIR) \ make && make info && make jinfo mewinstall: mewbuild cd $(MEW_SRC); \ make install && make install-info && make install-jinfo mewclean: cd $(MEW_SRC); \ make distclean ################################################################################ # w3m targets ################################################################################ w3mbuild: cd $(W3M_SRC); \ autoconf; \ ./configure --with-emacs=$(EMACS) --prefix=$(PREFIX) \ --bindir=$(EMACS_BINDIR) --sbindir=$(EMACS_BINDIR) \ --with-lispdir=$(SITE_DIR)/w3m --infodir=$(INFO_DIR) \ make w3minstall: w3mbuild cd $(W3M_SRC); \ make install && make install-icons && make install-icons30 w3mclean: cd $(W3M_SRC); \ make distclean ################################################################################ # muse targets ################################################################################ musecfg: cd $(MUSE_SRC); \ echo 'EMACS = $(EMACS)' >> $(MUSE_CFG); \ echo 'PREFIX = $(EMACS_PREFIX)' >> $(MUSE_CFG); \ echo 'SITEFLAG = --no-site-file' >> $(MUSE_CFG); \ echo 'DESTDIR =' >> $(MUSE_CFG); \ echo 'PREFIX = $(PREFIX)' >> $(MUSE_CFG);\ echo 'ELISPDIR = $(SITE_DIR)/muse' >> $(MUSE_CFG); \ echo 'INFODIR = $(INFO_DIR)' >> $(MUSE_CFG); \ echo 'install_info = install-info --info-dir=$$(INFODIR) $$(1) || :' >> $(MUSE_CFG); \ echo 'PROJECT = muse' >> $(MUSE_CFG); \ echo 'VERSION = 3.12' >> $(MUSE_CFG); \ echo 'MANUAL = muse' >> $(MUSE_CFG); \ echo 'ELPADIR = ../../elpa' >> $(MUSE_CFG); \ echo 'ELPADESC = Authoring and publishing tool' >> $(MUSE_CFG); musecfgclean: cd $(MUSE_SRC); \ $(RM) $(MUSE_CFG) musebuild: cd $(MUSE_SRC); \ make museinstall: musecfg musebuild cd $(MUSE_SRC); \ make install
ChangeLog
2009-07-21 Kentaro Ohkouchi <nanasess@fsm.ne.jp> * Makefile: Emacs Muse の設定を追加 : フォーマットを修正 2009-04-30 Kentaro Ohkouchi <nanasess@fsm.ne.jp> * Makefile (all): target を少し変更 (buildlib): apelinstall を削除 (buildall): removed 2009-03-24 Kentaro Ohkouchi <nanasess@fsm.ne.jp> * Makefile: initial version