#(ar -t libvector.a to see contents)
#OR gcc -static main.o -L. -lvector

CC = gcc
CFLAGS = -O1 -Wall -fPIC
SHARED_FLAGS = -shared -Wl,-soname,libvec.so.1

all: addvec.o multvec.o libvec.so prog2c

addvec.o: addvec.c
	$(CC) $(CFLAGS) -c addvec.c

multvec.o: multvec.c
	$(CC) $(CFLAGS) -c multvec.c

libvec.so: addvec.o multvec.o
	$(CC) $(SHARED_FLAGS) -o libvec.so.1.0 addvec.o multvec.o 
	sudo cp libvec.so.1.0 /usr/local/lib
	sudo ln -s /usr/local/lib/libvec.so.1.0 /usr/local/lib/libvec.so.1
	sudo ln -s /usr/local/lib/libvec.so.1.0 /usr/local/lib/libvec.so

prog2c: main.c libvec.so
	$(CC) -o prog2c main.c -L/usr/local/lib -lvec

clean:
	rm *.o *.a prog2c libvec.so.1.0; sudo rm /usr/local/lib/libvec.so.1.0; sudo unlink /usr/local/lib/libvec.so.1; sudo unlink /usr/local/lib/libvec.so; 
