SHELL	= /bin/sh
OTFHOME	= /usr/local/otf
OTFINC	= ${OTFHOME}/include
LIBDIR	= ${OTFHOME}/lib
INCDIR	= ${OTFINC}/pdbio
MAN3DIR	= ${OTFHOME}/man/man3

.SUFFIXES:	.cc
CXX	= g++

.cc.o:
	${CXX} -c -o $*.o ${CFLAGS} $*.cc

LIBNAME	= pdbio

SRCS	= PDBioAux.cc \
	int.VoidP.Map.cc int.VoidP.CHMap.cc \
	VoidP.Set.cc VoidP.CHSet.cc VoidP.CHNode.cc \
	Symbol.VoidP.Map.cc Symbol.VoidP.VHMap.cc \
	VoidP.int.Map.cc VoidP.int.VHMap.cc

OBJS	= ${SRCS:.cc=.o}
LIB	= lib${LIBNAME}.a
OPT	= -O2 -felide-constructors
#OPT	= -g -Wall -Winline -Wenum-clash
CFLAGS	= ${OPT} -I. -I${OTFINC} -Wwrite-strings

${LIB}: ${OBJS}
	ar cr ${LIB} ${OBJS}

sysv.install: ${LIB}
	-mkdir ${INCDIR}
	/etc/install -m 444 -f ${INCDIR} *.h PDBio.cc
	/etc/install -m 644 -f ${LIBDIR} ${LIB}
	/etc/install -m 444 -f ${MAN3DIR} *.3

bsd43.install: ${LIB}
	-mkdir ${INCDIR}
	install -c -m 444 *.h PDBio.cc ${INCDIR}
	install -c -m 644 ${LIB} ${LIBDIR}/${LIB}
	ranlib ${LIBDIR}/${LIB}
	install -c -m 444 *.3 ${MAN3DIR}

osf1.install: ${LIB}
	-mkdir ${INCDIR}
	for i in *.h PDBio.cc ; do \
		installbsd -c -m 444 $$i ${INCDIR} ; \
	done
	installbsd -c -m 644 ${LIB} ${LIBDIR}/${LIB}
	ranlib ${LIBDIR}/${LIB}
	for i in *.3 ; do \
		installbsd -c -m 444 $$i ${MAN3DIR} ; \
	done

clean:
	rm -f ${OBJS} ${LIB} Makefile.save errs a.out ptrepository

spotless: clean

depend:
	mv Makefile Makefile.save
	sed -n '1,/DE\PEND/p' < Makefile.save > Makefile
	g++ -MM ${CFLAGS} ${SRCS} >> Makefile

### DEPEND
PDBioAux.o : PDBioAux.cc 
int.VoidP.Map.o : int.VoidP.Map.cc int.VoidP.Map.h int.defs.h 
int.VoidP.CHMap.o : int.VoidP.CHMap.cc int.VoidP.CHMap.h int.VoidP.Map.h int.defs.h 
VoidP.Set.o : VoidP.Set.cc VoidP.Set.h VoidP.defs.h 
VoidP.CHSet.o : VoidP.CHSet.cc VoidP.CHSet.h VoidP.Set.h VoidP.defs.h VoidP.CHNode.h 
VoidP.CHNode.o : VoidP.CHNode.cc VoidP.CHNode.h VoidP.defs.h 
Symbol.VoidP.Map.o : Symbol.VoidP.Map.cc Symbol.VoidP.Map.h /usr/local/otf/include/mol/Symbol.defs.h \
  /usr/local/otf/include/mol/Symbol.h VoidP.defs.h 
Symbol.VoidP.VHMap.o : Symbol.VoidP.VHMap.cc Symbol.VoidP.VHMap.h Symbol.VoidP.Map.h \
  /usr/local/otf/include/mol/Symbol.defs.h /usr/local/otf/include/mol/Symbol.h \
  VoidP.defs.h 
