[Mew-dist 04569] Re: byte-compiler
KIRIYAMA Kazuhiko
kiri at example.com
1998年 5月 8日 (金) 17:22:52 JST
桐山@FreeBSD-Mew-portsメンテナ です。
Kazu Yamamoto (山本和彦)さん:
> > 今まで OS/2 installer では REXX と lisp を併用して誤魔化してたのですが、
> > Linux 移住計画の前準備としてこんなのをでっちあげてみました。
> > 必要な module だけを bytecomp & install します(uninstall も可)。
>
> Makefile との整合性を考えて、添付ファイルのようにしてみました。時間が
> ある人は、試して下さい。
FreeBSD ではとりあえず Emacs(19.34b), Mule(2.3), XEmacs(20.4) に応じてそ
れぞれの port を用意してます。かず さんの御提示された Makefile からの
diff で考えると↓のようなかんじになります。
--- Makefile.org Fri May 8 17:00:10 1998
+++ Makefile Fri May 8 17:11:30 1998
@@ -16,20 +16,20 @@
CC = gcc
CFLAGS = -O
-BINDIR = /usr/local/bin
+BINDIR = ${PREFIX}/bin
##
## for byte-compile
##
#EMACS = emacs
-EMACS = xemacs
+EMACS = ${EMACSCMD}
#EMACS = mule
#EMACS = mule2
#EMACS = mule19
#ELISPDIR = /usr/local/share/emacs/site-lisp
-ELISPDIR = /usr/local/lib/$(EMACS)/site-lisp
+ELISPDIR ?= ${PREFIX}/lib/$(EMACS)/site-lisp
#ELISPDIR = /usr/local/lib/emacs
##
@@ -67,9 +67,14 @@
RM = rm -f
BIN = bin
+.if defined(ELISP)
all: $(OBJS)
$(EMACS) -batch -q -l ./$(TEMPFILE) -f mew-compile
+.endif
+.if defined(COMMON)
+all: $(OBJS)
cd $(BIN); ./configure; $(MAKE) CFLAGS="$(CFLAGS)" CC="$(CC)"
+.endif
$(OBJS): $(TEMPFILE) mew.el
@@ -80,10 +85,15 @@
echo $(OBJS) | sed -e 's/\(mew[^ ]*\.el\)c/"\1"/g' >> $(TEMPFILE)
echo ')))' >> $(TEMPFILE)
+.if defined(ELISP)
install: $(OBJS)
- cp $(SRCS) $(ELISPDIR)
- cp $(OBJS) $(ELISPDIR)
+ ${MKDIR} $(ELISPDIR)
+ ${INSTALL_DATA} $(SRCS) $(OBJS) $(ELISPDIR)
+.endif
+.if defined(COMMON)
+install:
cd $(BIN); $(MAKE) install CFLAGS="$(CFLAGS)" CC="$(CC)" BINDIR="$(BINDIR)"
+.endif
clean:
$(RM) $(OBJS) $(TEMPFILE)
> > ;; mew-mule?.el の bytecomp は emacs-version によってはまずいのかな??
FreeBSD の ports ではそれぞれの Emacian でバイトコンパイルしてます。
# 将来的にはバイトコンパイルはしないでおく方向です。
> 今回は、ここまで力が及びませんでした。とにかく、この Makefile を叩き台
> にして議論していきましょう。
私の方としては現在の Makefile ととんでもなくかけはなれない限り ports の
方で吸収しますので構いません。
# ところで 1.92.4 に附属の日本語 infoファイルですが
# XEmacs-20.4/Mule-2.3 では読めなかったんですが、あれば FreeBSD 特有の
# 現象でしょうか? とりあえず作り直してますが...。
---
KIRIYAMA Kazuhiko
kiri at example.com
Mew-dist メーリングリストの案内