CC=gcc
CFLAGS=-Wall -lm
-BINPATH=/usr/bin
+BINPATH=/usr/local/bin
+LIBPATH=/usr/local/lib
+HEADERPATH=/usr/local/include
all: discspan
-discspan: discspan.o filehandler.o splitter.o help.o logic.o
- $(CC) $(CFLAGS) -o discspan discspan.o filehandler.o splitter.o help.o logic.o
+discspan: discspan.o help.o libspan.so
+ $(CC) $(CFLAGS) -o discspan -L. -lspan discspan.o help.o
+libspan.so: filehandler.o splitter.o logic.o
+ $(CC) $(CFLAGS) -o libspan.so -shared filehandler.o splitter.o logic.o
discspan.o: discspan.h help.h logic.h discspan.c
$(CC) $(CFLAGS) -c discspan.c
filehandler.o: discspan.h filehandler.h filehandler.c
- $(CC) $(CFLAGS) -c filehandler.c
+ $(CC) $(CFLAGS) -c -fpic filehandler.c
splitter.o: discspan.h splitter.h splitter.c
- $(CC) $(CFLAGS) -c splitter.c
+ $(CC) $(CFLAGS) -c -fpic splitter.c
logic.o: logic.h splitter.h filehandler.h logic.c
- $(CC) $(CFLAGS) -c logic.c
+ $(CC) $(CFLAGS) -c -fpic logic.c
help.o: help.h help.c
$(CC) $(CFLAGS) -c help.c
install:
chmod 755 discspan
- cp discspan $(BINPATH)/discspan
+ cp discspan $(BINPATH)
+ cp libspan.so $(LIBPATH)
+ cp discspan.h filehandler.h splitter.h logic.h $(HEADERPATH)
uninstall:
rm $(BINPATH)/discspan
+ rm $(LIBPATH)/libspan.so
+ rm $(HEADERPATH)/discspan.h
+ rm $(HEADERPATH)/filehandler.h
+ rm $(HEADERPATH)/splitter.h
+ rm $(HEADERPATH)/logic.h
clean:
- rm -f *.o discspan
+ rm -f *.o *.so discspan