--- Makefile.orig	Tue Feb 27 15:35:44 1996
+++ Makefile	Mon Mar 22 10:53:52 2004
@@ -1,7 +1,8 @@
 INCLUDE=
 
-CC=cc
-CFLAGS= -g -I../lib -I. -L../lib -L.
+CC?=cc
+CFLAGS?=-O -pipe
+CFLAGS+= -g -I../lib -I. -I./lib -L../lib -L.
 
 SRC = README Makefile */*.c */*.h */*.tbl */Makefile */README
 OBJS = big2jis/b2j-util.o big2jis/b2j_table.o \
@@ -12,12 +13,22 @@
 	jis2gb/j2g-util.o jis2gb/j2g_table.o \
 	lib/lang-util.o lib/cn-util.o \
 	lib/py-tbl.o lib/uzpj-tbl.o lib/uzpj-util.o \
-	hz2gb.o gb2hz.o SINO.o jp-util2.o
+	lib/hz2gb.o lib/gb2hz.o lib/SINO.o lib/jp-util2.o
 
-all: makeall libcn2jp.a
+LIB_SHOBJS = big2jis/b2j-util.So big2jis/b2j_table.So \
+	jis2big/j2b-util.So jis2big/j2b_table.So \
+	big2gb/b2g-util.So big2gb/b2g_table.So \
+	gb2big/g2b-util.So gb2big/g2b_table.So \
+	jis2gb/j2g-util.So jis2gb/j2g_table.So \
+	lib/lang-util.So lib/cn-util.So \
+	lib/py-tbl.So lib/uzpj-tbl.So lib/uzpj-util.So \
+	lib/hz2gb.So lib/gb2hz.So lib/SINO.So lib/jp-util2.So
+
+all: makeall libcn2jp.a libcn2jp.so
 
 
 makeall:
+	cd table; make; cd ..
 	cd lib; make; cd ..
 	cd big2jis; make; cd ..
 	cd jis2big; make; cd ..
@@ -28,21 +39,11 @@
 
 libcn2jp.a:  $(OBJS)
 	rm -f libcn2jp.a
-	ar r libcn2jp.a $(OBJS)
+	ar cru libcn2jp.a $(OBJS)
 	ranlib libcn2jp.a
-	cp libcn2jp.a ../../../lib/libcn2jp.a
-
-gb2hz.o: lib/gb2hz.c
-	$(CC) -c lib/gb2hz.c
-
-hz2gb.o: lib/hz2gb.c
-	$(CC) -c lib/hz2gb.c
-
-SINO.o: lib/SINO.c
-	$(CC) -c lib/SINO.c
 
-jp-util2.o: lib/jp-util2.c
-	$(CC) -c lib/jp-util2.c
+libcn2jp.so: $(LIB_SHOBJS)
+	ld -o libcn2jp.so $(LIB_SHOBJS) -shared -soname libcn2jp.so
 
 tar:
 	echo "Produce cn2jp`date '+%m%d'`.tar..."
@@ -55,3 +56,12 @@
 
 clean:
 	rm -f *.o *.a */*.o */*.t */*.a */???_table.c */?2?
+
+.SUFFIXES: .o .So
+
+.c.So:
+	$(CC) $(CFLAGS) -fPIC -c $*.c -o $*.So
+
+.c.o:
+	$(CC) $(CFLAGS) -fPIC -c $*.c -o $*.o
+
