CC=gcc
AR=ar
CPP=g++

FLAGS=-I./include -I/usr/include/g++-2
INSTALL=/usr/bin/install -m 755
LIBWRAP=/home/control/lib/libwrap.a

OXOBJ=log.o strtime.o thread.o cgi.o packet.o socket.o sockserv.o \
          session.o pe.o sope.o reent.o xlconf.o ccgi.o auths.o \
	  chtmlquery.o $(LIBWRAP)

all: libox.so

#    CGI 
libox.a: $(OXOBJ)
	rm -f libox.a
	$(AR) rc libox.a $(OXOBJ)

libox.so: $(OXOBJ)
	$(CPP) $(FLAGS) -o libox.so -shared $(OXOBJ)

# 
log.o:	log.cc ./include/log.h 
	$(CPP) $(FLAGS) log.cc -o log.o -c

strtime.o: strtime.cc ./include/strtime.h
	$(CPP) $(FLAGS) strtime.cc -o strtime.o -c

#  ,  IPC, CGI, etc...
ipc.o: ipc.cc ./include/ipc.h
	$(CPP) $(FLAGS) ipc.cc -o ipc.o -c

thread.o: thread.cc ./include/thread.h
	$(CPP) $(FLAGS) -g thread.cc -o thread.o -c

cgi.o:	cgi.cc ./include/cgi.h
	$(CPP) $(FLAGS) cgi.cc -o cgi.o -c

#  
packet.o: packet.cc ./include/packet.h
	$(CPP) $(FLAGS) packet.cc -o packet.o -c

socket.o: socket.cc ./include/socket.h
	$(CPP) $(FLAGS) socket.cc -o socket.o -c

reent.o: reent.cc ./include/reent.h
	$(CPP) $(FLAGS) reent.cc -o reent.o -c

#     
sockserv.o: sockserv.cc ./include/sockserv.h
	$(CPP) $(FLAGS) sockserv.cc -o sockserv.o -c -DDEBUG

session.o: session.cc ./include/session.h
	$(CPP) $(FLAGS) session.cc -o session.o -c

pe.o:	pe.cc ./include/pe.h
	$(CPP) $(FLAGS) pe.cc -o pe.o -c

sope.o:	sope.cc ./include/sope.h
	$(CPP) $(FLAGS) sope.cc -o sope.o -c

xlconf.o: xlconf.cc ./include/xlconf.h
	$(CPP) $(FLAGS) xlconf.cc -o xlconf.o -c

ccgi.o: ccgi.cc ./include/ccgi.h
	$(CPP) $(FLAGS) ccgi.cc -o ccgi.o -c

chtmlquery.o: chtmlquery.cc ./include/chtmlquery.h
	$(CPP) $(FLAGS) chtmlquery.cc -o chtmlquery.o -c

auths.o: auths.cc ./include/auths.h
	$(CPP) $(FLAGS) auths.cc -o auths.o -c

install:
	$(INSTALL) libox.so $(LD_LIBRARY_PATH)

clean:
	rm -f *.o *.so *.a
