CFLAGS=-Wall -L.
LIBCFLAGS=$(CFLAGS) -D_REENTRANT -fPIC
CC=gcc
OBJS=ch9-1.o    
LIBOBJS=safecalls.o safecalls2.o
AR=ar rc
LIBRARY=libsafec.so.1.0.0
SONAME=libsafec.so.1

all: ch9-1

ch9-1: $(OBJS) $(LIBRARY)
	$(CC) $(CFLAGS) -o $@ ch9-1.o -lsafec

$(LIBRARY): $(LIBOBJS)
	$(CC) -shared -Wl,-soname,$(SONAME) -o $@ $(LIBOBJS) -lc
	ln -sf $@ libsafec.so
	ln -sf $@ $(SONAME)
	
ch9-1.o: ch9-1.c
	$(CC) $(CFLAGS) -c -o $@ $<

%.o: %.c
	$(CC) $(LIBCFLAGS) -c -o $@ $<

clean:
	-rm $(OBJS) $(LIBOBJS) $(LIBRARY) libsafec.so $(SONAME) ch9-1
