#	$Id: Makefile,v 1.1.1.1 2000/05/07 20:26:03 mauhuur Exp $	
#
# $Log: Makefile,v $
# Revision 1.1.1.1  2000/05/07 20:26:03  mauhuur
# Initial import
#
#
#

LDRELEASE= $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
LDVER=$(VSLISP_VERSION)
HIVER=$(VSLISP_MAJOR_VERSION)

include ../MKDefs

CCPP= g++

all: $(VSLisp_TGS)

LISPOBJ =  lcore.o  funcf.o  funct.o  lmem.o forms1.o funcm.o lc.o \
	 colors.o funcn.o newhash.o funcs.o
LLOBJ =  lcore.lo  funcf.lo  funct.lo  lmem.lo forms1.lo funcm.lo lc.lo \
	 colors.lo funcn.lo newhash.lo funcs.lo

# LSer - just a test SERVER programm
LSer:  iser.lo lser.lo libvslisp$(HIVER).la 
	../libtool --mode=link $(CC) $(LOPT) LSer lser.lo iser.lo libvslisp$(HIVER).la \
		$(LDLIBS)

lser.lo: inet/lser.c
	../libtool --mode=compile $(CC) $(OPT) inet/lser.c

iser.lo: inet/iser.c
	../libtool --mode=compile $(CC) $(OPT) inet/iser.c

bin2c: bin2c.lo
	$(RM) bin2c
	../libtool --mode=link $(CC) $(LOPT) bin2c bin2c.lo

bin2c.lo: bin2c.c
	../libtool --mode=compile $(CC) $(OPT) bin2c.c

mkfuns: mkfuns.c
	$(CC) mkfuns.c -o mkfuns

cfish.lo: cfish.c
	../libtool --mode=compile $(CC) $(OPT) cfish.c

newhash.lo: newhash.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) newhash.c

cnofish.lo: cnofish.c
	../libtool --mode=compile $(CC) $(OPT) cnofish.c

VSLisp0: ilisp.lo  $(LLOBJ) cfish.lo
	$(RM) VSLisp0
	../libtool --mode=link $(CC) $(LOPT) VSLisp0 ilisp.lo $(LLOBJ) \
	            cfish.lo $(LDLIBS)

ilisp_d.lo: ilisp.c
	rm -f ilisp_d.c
	cp ilisp.c ilisp_d.c
	../libtool --mode=compile $(CC) -DL3DYN=1 $(OPT) ilisp_d.c 
	rm -f ilisp_d.c

VSLisp: ilisp_d.lo cnofish.lo libvslisp$(HIVER).la
	../libtool --mode=link $(CC) $(LOPT) VSLisp ilisp_d.lo cnofish.lo \
	 libvslisp$(HIVER).la $(LDLIBS) 

colorslib.lo: lsrc/colorslib.l $(LSP0DEP) $(B2CDEP)
	$(LSP0) -i lsrc/colorslib.l
	$(B2C)	colorslib.lc colorslib.c colorslib
	$(RM) colorslib.lc
	../libtool --mode=compile $(CC) $(OPT) colorslib.c
	$(RM) colorslib.c

libvslisp$(HIVER).la: $(LLOBJ) funcld.lo colorslib.lo
	../libtool --mode=link $(CC) $(LOPT) libvslisp$(HIVER).la colorslib.lo \
		 cnofish.lo \
	 funcld.lo $(LLOBJ) -rpath $(LIBDIR) $(LDLIBS) \
		-version-info $(LDRELEASE)

lcore.lo:  lcore.c  l_defs.h
	../libtool --mode=compile $(CC) $(OSOPT) $(OPT) lcore.c

funcf.lo:  functions/funcf.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) functions/funcf.c

funcld.lo:  functions/funcld.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) functions/funcld.c

funcn.lo:  funcn.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) funcn.c

colors.lo:  colors.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) colors.c

lc.lo:  lc.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) lc.c

funcm.lo:  funcm.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) funcm.c

ilisp.lo:  ilisp.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) ilisp.c

funct.lo: funct.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) funct.c

funcs.lo: funcs.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) funcs.c

funct.c: functions/funct.c mkfuns
	./mkfuns funstmp < functions/funct.c > funct.c
	rm -f funstmp

funcs.c: functions/funcs.c mkfuns
	./mkfuns funstmp < functions/funcs.c > funcs.c
	rm -f funstmp

funcn.c: functions/funcn.c mkfuns
	./mkfuns funstmp < functions/funcn.c > funcn.c
	rm -f funstmp

funcm.c: functions/funcm.c mkfuns
	./mkfuns funstmp < functions/funcm.c > funcm.c
	rm -f funstmp

lmem.lo:  lmem.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) lmem.c

forms1.lo:  forms1.c l_defs.h
	../libtool --mode=compile $(CC) $(OPT) forms1.c

test.lo: test.cpp lisp.hpp l_defs.h
	../libtool $(CCPP) $(OPT) test.cpp

lisp.lo: lisp.cpp lisp.hpp l_defs.h
	../libtool $(CCPP) $(OPT) lisp.cpp

test: test.lo lisp.lo libvslisp$(HIVER).la 
	../libtool $(CCPP) $(LOPT) test test.lo lisp.lo libvslisp$(HIVER).la \
		$(LDLIBS)

clean:
	$(RM) *.o
	$(RM) *.lo
	$(RM) *.la
	$(RM) -R .libs/
	$(RM) *.a
	$(RM) VSLisp
	$(RM) bin2c
	$(RM) VSLisp0
	$(RM) *.lc
	$(RM) colorslib.c
	$(RM) core
	$(RM) *.bb
	$(RM) *.bbg
	$(RM) *.gcov
	$(RM) *.da
	$(RM) mkfuns
	$(RM) funct.c
	$(RM) funcn.c
	$(RM) funcm.c
	$(RM) funcs.c

install: VSLisp libvslisp$(HIVER).la
	mkdir -p $(PREFIX)/bin/
	mkdir -p $(PREFIX)/lib/
	mkdir -p $(PREFIX)/include/
	../libtool --mode=install $(INSTALL) -s VSLisp $(PREFIX)/bin/
	../libtool --mode=install $(INSTALL) -s -m 644 libvslisp$(HIVER).la \
		 $(PREFIX)/lib/libvslisp$(HIVER).la
	cp l_defs.h $(PREFIX)/include/

uninstall:
	rm -f $(PREFIX)/bin/VSLisp
	../libtool --mode=uninstall rm -f $(PREFIX)/lib/libvslisp$(HIVER).la



