diff --git a/.gitignore b/.gitignore index 0e470a3..778a470 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,8 @@ *.a *.lo *.o +*.so +usr/ *.sw? /.deps /.dirstamp diff --git a/Makefile b/Makefile index 16e8ca5..6d774f5 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ -CFLAGS = -g -Wall -I. +CFLAGS = -g -Wall -I. -fPIC CC = gcc -PREFIX = /usr/local +PREFIX = $(DESTDIR)/usr/local TESTS = $(patsubst %.c, %, $(wildcard t/*.c)) ifdef ANSI @@ -21,27 +21,31 @@ endif %.so: $(CC) -shared $(LDFLAGS) $(TARGET_ARCH) $(filter %.o, $^) $(LDLIBS) -o $@ -all: libtap.a tests +all: libtap.a libtap.so tests libtap.a: tap.o +libtap.so: tap.o + tap.o: tap.c tap.h tests: $(TESTS) -$(TESTS): %: %.o libtap.a +$(TESTS): %: %.o libtap.so $(patsubst %, %.o, $(TESTS)): %.o: %.c tap.h clean: - rm -rf *.o t/*.o libtap.a $(TESTS) + rm -rf *.o t/*.o libtap.a libtap.so $(TESTS) -install: libtap.a tap.h +install: libtap.a tap.h libtap.so + mkdir -p $(PREFIX)/lib $(PREFIX)/include install -c libtap.a $(PREFIX)/lib + install -c libtap.so $(PREFIX)/lib install -c tap.h $(PREFIX)/include uninstall: - rm $(PREFIX)/lib/libtap.a $(PREFIX)/include/tap.h + rm $(PREFIX)/lib/libtap.a $(PREFIX)/lib/libtap.so $(PREFIX)/include/tap.h dist: rm libtap.zip