]> git.armaanb.net Git - libacheam.git/blobdiff - Makefile
Generate acheam.pc from DESTDIR in Makefile
[libacheam.git] / Makefile
index 522fd86e3eacd0e629aa5c240eed661d82e2e819..3d0bd0da1b2338ab689f957456765c2265935787 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,23 @@
 DESTDIR  ?= /usr/local
 CFLAGS   := -Wall -Wextra -pedantic -std=c99 -fPIC ${CFLAGS}
 
-all: lib man
+all: shared static man pkgconfig
 
-lib:
-       ${CC} -shared ${LDFLAGS} ${OBJS} -o acheam.so src/*.c ${CFLAGS}
+shared:
+       ${CC} -shared ${LDFLAGS} -o libacheam.so src/libacheam/*.c ${CFLAGS}
+
+static:
+       ${CC} ${LDFLAGS} src/libacheam/*.c ${CFLAGS} -c
+       ar rcs libacheam.a *.o
+
+pkgconfig:
+       sed "s|PREFIX_HERE|${DESTDIR}|g" acheam.pc.in > acheam.pc
 
 man:
        for i in man/*.scd; do \
-               scdoc < $$i > $$(echo "$$i" | rev | cut -f 2- -d '.' | rev); \
+               outp=$$(echo "$$i" | rev | cut -f 2- -d '.' | rev); \
+               scdoc < $$i > $$outp; \
+               echo ".SH COLOPHON\n This page is a part of libacheam(3).\&" >> $$outp; \
        done
 
 install: all
@@ -16,19 +25,26 @@ install: all
                ${DESTDIR}/lib/pkgconfig \
                ${DESTDIR}/man/man3
 
-       cp acheam.so    ${DESTDIR}/lib
-       cp acheam.pc    ${DESTDIR}/lib/pkgconfig
-       cp src/acheam.h ${DESTDIR}/include
-       cp man/*.3      ${DESTDIR}/man/man3/
+       cp libacheam.so           ${DESTDIR}/lib
+       cp acheam.pc              ${DESTDIR}/lib/pkgconfig
+       cp man/*.3                ${DESTDIR}/man/man3/
+       cp src/libacheam/acheam.h ${DESTDIR}/include
 
 uninstall:
        rm ${DESTDIR}/include/acheam.h \
-               ${DESTDIR}/lib/acheam.so \
+               ${DESTDIR}/lib/libacheam.so \
                ${DESTDIR}/lib/pkgconfig/acheam.pc
 
        for i in man/*.scd; do \
                rm ${DESTDIR}/man/man3/$$(basename "$$i" ".scd"); \
        done
 
+test: static
+       ${CC} -o test src/tests.c -I./src/libacheam libacheam.a ${CFLAGS}
+       ./test
+
+clean:
+       rm -f test libacheam.so libacheam.a *.o man/*.3
+
 .POSIX:
-.PHONY: all man
+.PHONY: all man test