INCLUDE =	-I/usr/local/include/Sockets
CFLAGS =	-Wall -g -O2 $(INCLUDE) -MD `Sockets-config`
CPPFLAGS =	$(CFLAGS) 
LIBS =		-L/usr/local/lib -lSockets -lpthread -lssl -lcrypto

PROGS =		displayserver \
		displayclient \
		statusserver \
		customserver \
		server_errlog \
		put_demo \
		getportdemo \
		pooltest \
		udpserver \
		udpclient \
		httpget2_async_dns \
		httpget2_socks4 \
		resume \
		event \
		threadsafe \
		sslserver \
		sslclient \
		telnet

all: 		$(PROGS)

displayserver:	displayserver.o DisplaySocket.o
		g++ -o $@ $^ $(LIBS)

displayclient:	displayclient.o DisplaySocket.o
		g++ -o $@ $^ $(LIBS)

statusserver:	statusserver.o StatusSocket.o
		g++ -o $@ $^ $(LIBS)

customserver:	customserver.o StatusSocket.o StatusHandler.o
		g++ -o $@ $^ $(LIBS)

server_errlog:	server_errlog.o DisplaySocket.o
		g++ -o $@ $^ $(LIBS)

put_demo:	put_demo.o
		g++ -o $@ $^ $(LIBS)

getportdemo:	getportdemo.o
		g++ -o $@ $^ $(LIBS)

pooltest:	pooltest.o
		g++ -o $@ $^ $(LIBS)

udpserver:	udpserver.o UdpTestSocket.o
		g++ -o $@ $^ $(LIBS)

udpclient:	udpclient.o UdpTestSocket.o
		g++ -o $@ $^ $(LIBS)

httpget2_async_dns: httpget2_async_dns.o
		g++ -o $@ $^ $(LIBS)

httpget2_socks4: httpget2_socks4.o
		g++ -o $@ $^ $(LIBS)

resume:		resume.o ResumeSocket.o ResumeSocket2.o
		g++ -o $@ $^ $(LIBS)

event:		event.o MyEventHandler.o
		g++ -o $@ $^ $(LIBS)

threadsafe:	threadsafe.o
		g++ -o $@ $^ $(LIBS)

sslserver:	ssl/statusserver.o ssl/StatusSocket.o
		g++ -o $@ $^ $(LIBS)

sslclient:	ssl/sslclient.o
		g++ -o $@ $^ $(LIBS)

telnet:		telnet.o StdinSocket.o Console.o Stdin.o Stdin2.o
		g++ -o $@ $^ $(LIBS)

clean:
		rm -f *.o *~ slask $(PROGS) */*~ *.d *.bak


FILES =		*Socket.h *Socket.cpp \
		*Handler.h *Handler.cpp \
		*server.cpp \
		*client.cpp \
		server_errlog.cpp \
		Stdin.h Stdin.cpp \
		put_demo.cpp \
		getportdemo.cpp \
		pooltest.cpp \
		httpget2_*.cpp \
		resume.cpp \
		MyEvent*.h MyEvent*.cpp \
		event.cpp \
		threadsafe.cpp \
		Makefile \
		Project/*.dsp \
		ssl/*.h ssl/*.cpp

tar:		clean
		tar czf Sockets-tutorial.tar.gz $(FILES)
		/usr/local/bin/tarfix.sh Sockets-tutorial

-include	*.d
