diff --git a/.gitignore b/.gitignore index 064e58b..3e085f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ haggis -config.mk test/output/ test/* !test/*.c diff --git a/Makefile b/Makefile index 6332497..1f71f28 100644 --- a/Makefile +++ b/Makefile @@ -39,13 +39,9 @@ CFLAGS += -Wall -Werror CFLAGS += -Iinclude CFLAGS += -fPIC -includedir = $(DESTDIR)$(PREFIX)/include -libdir = $(DESTDIR)$(PREFIX)/lib - hdrs += include/bytes.h hdrs += include/haggis.h hdrs += include/jobq.h -hdrs += include/linklist.h srcs += bytes.c srcs += haggis.c @@ -60,19 +56,28 @@ shared: libhaggis.so static: libhaggis.a +$(srcs): $(hdrs) + libhaggis.a: $(objs) $(AR) rcs $@ $? libhaggis.so: $(objs) $(CC) -shared -o $@ $? $(LIBS) -install: libhaggis.a libhaggis.so include/haggis.h - [ -d $(includedir) ] || install -d $(includedir) - [ -d $(libdir) ] || install -d $(libdir) - install -m755 libhaggis.so $(libdir)/ - install -m644 libhaggis.a $(libdir)/ +install: install_include install_shared install_static + +install_include: include/haggis.h + @[ -d $(includedir) ] || install -d $(includedir) install -m644 include/haggis.h $(includedir)/ +install_static: libhaggis.a + @[ -d $(libdir) ] || install -d $(libdir) + install -m644 libhaggis.a $(libdir)/ + +install_shared: libhaggis.so + @[ -d $(libdir) ] || install -d $(libdir) + install -m755 libhaggis.so $(libdir)/ + test: libhaggis.a $(MAKE) -C test @@ -83,4 +88,5 @@ clean: rm -rf *.a *.so *.o $(MAKE) -C test clean -.PHONY: all shared static clean install testclean test +.PHONY: all shared static clean install install_include install_static \ + install_shared testclean test diff --git a/config.mk b/config.mk new file mode 100644 index 0000000..242f99e --- /dev/null +++ b/config.mk @@ -0,0 +1,11 @@ +prefix ?= /usr/local +bindir = $(DESTDIR)$(PREFIX)/bin +includedir = $(DESTDIR)$(PREFIX)/include +libdir = $(DESTDIR)$(PREFIX)/lib +sharedir = $(DESTDIR)$(PREFIX)/share +mandir = $(sharedir)/man +docdir = $(sharedir)/doc/haggis +# Comment this line if your OS ships libmd as part of libc +# (NetBSD, OpenBSD) +LIBS += -lmd +LIBS += -lpthread diff --git a/haggis.c b/haggis.c index a73b2a7..b1b97b3 100644 --- a/haggis.c +++ b/haggis.c @@ -32,9 +32,7 @@ #include #include // PATH_MAX -#include #include // uint_t -#include #if defined(__FreeBSD__) || defined(__DragonFly__) #include