#
# +---------------------------------------------------------+
# | Easy Socket library - version 0.1                       |
# | (C) 1999-2000, Erich Roncarolo <erich@roncarolo.eu.org> |
# +---------------------------------------------------------+
#
#
# This is the Makefile for Easy Socket library.
# This library supplies some functions to bind and connect socket,
# and to read and write variables of all simple types and strings.
#
# You should read README file for details.
#


INCLUDES= -I. -I-
LIBDIR= -L.
LIB= -leasy_sock
CFLAGS=
CPPFLAGS=

STRIP=strip

lib: libeasy_sock.so libeasy_sock.a

all: lib easy_test easy_server easy_client tunnel
	@echo
	#
	# Easy Socket library made.
	#

libeasy_sock.so: easy_sock.o Makefile
	$(CC) -shared -o libeasy_sock.so easy_sock.o
	$(STRIP) libeasy_sock.so
	#
	# $@ made.
	#

libeasy_sock.a: easy_sock.o Makefile
	ar cru libeasy_sock.a easy_sock.o
	ranlib libeasy_sock.a
	$(STRIP) libeasy_sock.a
	#
	# $@ made.
	#

easy_sock.o: easy_sock.c easy_sock.h Makefile
	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c easy_sock.c
	#
	# $@ made.
	#

easy_test:  libeasy_sock.so libeasy_sock.a easy_test.c easy_sock.h Makefile
	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(LIBDIR) $(LIB) -o easy_test easy_test.c
	$(STRIP) easy_test
	#
	# $@ made.
	#

test: easy_test Makefile
	bash -c "LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH} ./easy_test"

easy_server:  libeasy_sock.so libeasy_sock.a easy_server.c easy_sock.h Makefile
	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(LIBDIR) $(LIB) -o easy_server easy_server.c
	$(STRIP) easy_server

server: easy_server Makefile
	bash -c "LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH} ./easy_server"

easy_client:  easy_sock.o easy_client.c easy_sock.h Makefile
	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -o easy_client easy_client.c easy_sock.o
	$(STRIP) easy_client

client: easy_client Makefile
	./easy_client - write int 5 16
	./easy_client c read int 5

tunnel: tunnel.c Makefile easy_sock.o easy_sock.h
	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -o tunnel tunnel.c easy_sock.o
	$(STRIP) tunnel
	#
	# $@ made.
	#

distclean: clean

clean:
	rm libeasy_sock.so libeasy_sock.a easy_sock.o \
            easy_test easy_server easy_client tunnel || true
	#
	# Easy Socket library cleaned.
	#

#
#  Erich Roncarolo
#  <erich@roncarolo.eu.org>
#

