[Mew-dist 14752] Re: bin.tar.gz
SAKAI Kiyotaka
ksakai at example.com
2000年 10月 25日 (水) 14:11:15 JST
>> In article <20001025.120238.125121987.kazu at example.com>, Kazu Yamamoto (山本和彦) <kazu at example.com> writes:
> プロトタイプを入れた bin を作りましたので、試して下さい。警告がぐっと
> 少なくなると思います。4B の後ろでめんどうなので、web に置きました。
> http://www.kame.net/~kazu/bin.tar.gz
1. コンパイル時に以下の警告が出ました。
これは isdigit() の引数は int を仮定しているのに char を渡しているた
めで、自動的に cast されるので今のままで問題はありませんが、一応、報
告しておきます。
gcc -c -I. -I../bin -g -O2 -Wall ../bin/mewls.c
../bin/mewls.c: In function `scan_numfile':
../bin/mewls.c:527: warning: subscript has type `char'
../bin/mewls.c: In function `exec_getfile':
../bin/mewls.c:698: warning: subscript has type `char'
../bin/mewls.c:700: warning: subscript has type `char'
2. C コンパイラに gcc を使うとは限りませんので、Makefile の CFLAGS の
直接 -Wall を埋め込むのはよくないスタイルだと思います。
もし、gcc のときは自動的に -Wall を指定するようにしたいのであれば、
以下のように configure.in の方を修正するべきだと思います。
===================================================================
RCS file: RCS/configure.in,v
retrieving revision 1.1
diff -u -r1.1 configure.in
--- configure.in 2000/10/25 04:49:23 1.1
+++ configure.in 2000/10/25 04:53:30
@@ -15,4 +15,8 @@
AC_CHECK_LIB(z, main)
AC_CHECK_FUNCS(strncasecmp strnicmp fork vfork getpwuid usleep Sleep setmode _setmode chdir _chdir2)
+if test "$ac_cv_prog_CC" = "gcc"; then
+ CFLAGS="$CFLAGS -Wall"
+fi
+
AC_OUTPUT(Makefile)
3. せっかくですので、VPATH に対応しませんか?
以下のパッチを当てておくと、GNU make など VPATH 対応の make を使えば、
% gzip -dc bin.tar.gz | tar xf -
% mkdir solaris
% cd solaris
% ../bin/configure
% make
# make install
のような手順で、source tree の中で作業することなく make できます。
(この機能は、特に、複数のブラットホームのバイナリーを 1つの source
tree から make したいときに力を発揮します。)
===================================================================
RCS file: RCS/Makefile.in,v
retrieving revision 1.1
diff -u -r1.1 Makefile.in
--- Makefile.in 2000/10/25 04:37:38 1.1
+++ Makefile.in 2000/10/25 05:02:23
@@ -10,6 +10,9 @@
### make install
###
+srcdir = @srcdir@
+VPATH = @srcdir@
+
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
@@ -17,6 +20,7 @@
CC = @CC@
CFLAGS = @CFLAGS@ -Wall
COFLAG = -o $@
+DEFS = -I. -I$(srcdir)
LIBS = @LIBS@
INSTALL = @INSTALL@ -m 555
@@ -47,6 +51,10 @@
CNF = config.h config.status config.cache config.log
MK = Makefile
+
+.c$(OBJEXT):
+ $(CC) -c $(DEFS) $(CFLAGS) $<
+
all: $(PRG1) $(PRG2)
$(PRG1) : $(OBJ1)
--
酒井 清隆 (E-mail: ksakai at example.com)
Mew-dist メーリングリストの案内