]> git.armaanb.net Git - libacheam.git/blob - Makefile
Generate acheam.pc from DESTDIR in Makefile
[libacheam.git] / Makefile
1 DESTDIR  ?= /usr/local
2 CFLAGS   := -Wall -Wextra -pedantic -std=c99 -fPIC ${CFLAGS}
3
4 all: shared static man pkgconfig
5
6 shared:
7         ${CC} -shared ${LDFLAGS} -o libacheam.so src/libacheam/*.c ${CFLAGS}
8
9 static:
10         ${CC} ${LDFLAGS} src/libacheam/*.c ${CFLAGS} -c
11         ar rcs libacheam.a *.o
12
13 pkgconfig:
14         sed "s|PREFIX_HERE|${DESTDIR}|g" acheam.pc.in > acheam.pc
15
16 man:
17         for i in man/*.scd; do \
18                 outp=$$(echo "$$i" | rev | cut -f 2- -d '.' | rev); \
19                 scdoc < $$i > $$outp; \
20                 echo ".SH COLOPHON\n This page is a part of libacheam(3).\&" >> $$outp; \
21         done
22
23 install: all
24         mkdir -p ${DESTDIR}/include \
25                 ${DESTDIR}/lib/pkgconfig \
26                 ${DESTDIR}/man/man3
27
28         cp libacheam.so           ${DESTDIR}/lib
29         cp acheam.pc              ${DESTDIR}/lib/pkgconfig
30         cp man/*.3                ${DESTDIR}/man/man3/
31         cp src/libacheam/acheam.h ${DESTDIR}/include
32
33 uninstall:
34         rm ${DESTDIR}/include/acheam.h \
35                 ${DESTDIR}/lib/libacheam.so \
36                 ${DESTDIR}/lib/pkgconfig/acheam.pc
37
38         for i in man/*.scd; do \
39                 rm ${DESTDIR}/man/man3/$$(basename "$$i" ".scd"); \
40         done
41
42 test: static
43         ${CC} -o test src/tests.c -I./src/libacheam libacheam.a ${CFLAGS}
44         ./test
45
46 clean:
47         rm -f test libacheam.so libacheam.a *.o man/*.3
48
49 .POSIX:
50 .PHONY: all man test