CLIBS= -L /usr/local/lib/mysql
CINCLUDES=-I /usr/local/include/mysql
CFLAGS=-g -DOS_UNIX -Wall -std=c++98
CC=c++
OBJS=cgid.o tcp_server.o tcp_stream.o thread.o

default:
	make cgid
	make test.cgi
	make libhello.so
	make libperson.so

all:
	make clean
	make cgid
	make test.cgi
	make libhello.so
	make libperson.so

test.cgi:tcp_stream.o 
	${CC} test_cgi.cpp -o test.cgi tcp_stream.o ${CFLAGS} ${CLIBS} ${CINCLUDES}
	cp test.cgi /usr/local/www/apache22/cgi-bin/
	
cgid.o:cgid.cpp
	${CC} cgid.cpp -c ${CFLAGS} ${CLIBS} ${CINCLUDES}

tcp_stream.o:tcp_stream.cpp
	${CC} tcp_stream.cpp -c ${CFLAGS} ${CLIBS} ${CINCLUDES}

tcp_server.o:tcp_server.cpp
	${CC} tcp_server.cpp -c ${CFLAGS} ${CLIBS} ${CINCLUDES}

thread.o:thread.cpp
	${CC} thread.cpp -c ${CFLAGS} ${CLIBS} ${CINCLUDES}

cgid:${OBJS}
	${CC} -o cgid ${OBJS} ${CFLAGS} ${CLIBS} ${CINCLUDES} -lpthread -lmysqlclient

hello.o:hello.cpp
	${CC} hello.cpp -c ${CFLAGS} ${CLIBS} ${CINCLUDES}

libhello.so:hello.o tcp_stream.o
	${CC} -shared -o libhello.so hello.o tcp_stream.o

person.o:person.cpp
	${CC} person.cpp -c ${CFLAGS} ${CLIBS} ${CINCLUDES}


libperson.so:person.o tcp_stream.o
	${CC} -shared -o libperson.so person.o tcp_stream.o

clean:
	rm -f cgid
	rm -f test.cgi
	rm -f libhello.so
	rm -f *.core
	rm -f *.o

