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