OBJ = Sock.o
OBJ1 = socktest.o
OBJ2 = socktestexception.o
SHFLAGS = -shared
CC = g++
CFLAGS = -I.
#CFLAGS = -fpack-struct -I.
LIB2 = -L. -l Sock
DIST = ../../../lib

.SUFFIXES : .so

all: Sock.so libSock.a socktest socktestexception

.cpp.o:
	rm -f @
	$(CC) $(CFLAGS) -c -o $@ $<
.o.so:
	rm -f @
	$(CC) $(SHFLAGS) -o lib$@ $(OBJ) $(LDFLGAS)

install:
	cp libSock.so $(DIST)

libSock.a: Sock.o
	ar r $@ $^
	ranlib $@

Sock.o: Sock.h

socktest:$(OBJ1)
	$(CC) -o $@ $(OBJ1) $(LIB2)

socktestexception:$(OBJ2)
	$(CC) -o $@ $(OBJ2) $(LIB2)

clean:
	rm -f libSock.so libSock.a *.o socktest socktestexception
#	rm -f $(DIST)/libSock.so
