# w tym przykladzie zbudujemy biblioteke dzielona z objectu err.o

CC = gcc
CFLAGS = -Wall -g
LDFLAGS =
LIBS = 

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

OBJECTS = copy.o
PRIVATE_LIBS= -L . -lerr

all: copy

copy: $(OBJECTS) liberr.so.1
	$(CC) -o $@ $(LDFLAGS) $(OBJECTS) $(PRIVATE_LIBS) $(LIBS)

err.lo: err.c err.h
	gcc -c $(CFLAGS) -fPIC -DPIC -o $@  $<

liberr.so.1 : err.lo
	gcc -shared -o $@.0 -Wl,-soname -Wl,$@ $^
	ln -s $@.0 $@
	ln -s $@ liberr.so

clean:
	rm -f *.o copy *.so *.so.* *.so.*.* *.lo
