[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 メーリングリストの案内