CC=gcc
CFLAGS=-Wall -g
LIBSKIN1=libskin1.so.1
LIBSKIN2=libskin2.so.1.2
LIBSKIN3=libskin3.so.0

ALLSKINS=$(LIBSKIN1) $(LIBSKIN2) $(LIBSKIN3)

%.so: %.c
	$(CC) -fPIC $(CFLAGS) -c -o $@ $<

all: skin $(ALLSKINS)

skin: skin.o
	$(CC) $(CFLAGS) -o $@ $< -Wl,-rpath,. -ldl

$(LIBSKIN1): skin1.so
	$(CC) -shared -o $@ -Wl,-soname,$(LIBSKIN1) $<

$(LIBSKIN2): skin2.so
	$(CC) -shared -o $@ -Wl,-soname,$(LIBSKIN2) $<

$(LIBSKIN3): skin3.so
	$(CC) -shared -o $@ -Wl,-soname,$(LIBSKIN3) $<

clean: 
	-rm -f *.o *.so core skin $(ALLSKINS)

test: all
	@echo "**** Test without skin library..."
	./skin
	@echo
	@echo "**** Test with skin library specified..."
	./skin $(LIBSKIN1)
	@echo
	./skin $(LIBSKIN2)
	@echo
	-./skin $(LIBSKIN3)
