018ae162bac930d2f4081cd13d23ee1a66dde9c1
[quick-der] / lib / Makefile
1 OBJS = der_pack.o der_prepack.o der_unpack.o der_iterate.o der_walk.o der_skipenter.o der_header.o
2
3 TARGETS = libquickder.a libquickder.so
4
5 CFLAGS=-Wall -Wextra -pedantic -Wstrict-prototypes -Wold-style-definition -Wwrite-strings -Wshadow -Wformat -Wformat-security -Wunreachable-code -Wmissing-prototypes
6
7 all: $(TARGETS)
8
9 install: $(TARGETS)
10         install $(TARGETS) '$(DESTDIR)$(PREFIX)/lib'
11         mkdir -p '$(DESTDIR)$(PREFIX)/include/quick-der'
12         install ../include/quick-der/api.h '$(DESTDIR)$(PREFIX)/include/quick-der'
13         mkdir -p '$(DESTDIR)$(PREFIX)/lib/pkgconfig'
14         ( echo 'prefix=$(PREFIX)' ; echo 'exec_prefix=$${prefix}' ; echo 'includedir=$${prefix}/include' ; echo 'libdir=$${prefix}/lib' ; echo ; echo 'Name: quick-der' ; echo "Description: Quick \`n\' Easy DER library" ; echo 'Version: 0.0' ; echo 'URL: https://github.com/vanrein/quick-der' ; echo 'Cflags: -I$${includedir}' ; echo 'Libs: -L$${libdir} -lquickder' ) > '$(DESTDIR)$(PREFIX)/lib/pkgconfig/quick-der.pc'
15
16 uninstall:
17         for f in $(TARGETS); do rm -f "$(DESTDIR)$(PREFIX)/lib/$$f" ; done
18         rm -f '$(DESTDIR)$(PREFIX)/include/quick-der/api.h'
19         rmdir --ignore-fail-on-non-empty '$(DESTDIR)$(PREFIX)/include/quick-der'
20         rm -f '$(DESTDIR)$(PREFIX)/lib/pkgconfig/quick-der.pc'
21         rmdir --ignore-fail-on-non-empty '$(DESTDIR)$(PREFIX)/lib/pkgconfig'
22
23 clean:
24         rm -f $(OBJS) $(TARGETS)
25
26 .c.o:
27         gcc -fPIC $(CFLAGS) -c -I../include -o "$@" "$<"
28
29 libquickder.a: $(OBJS)
30         rm -rf "$@"
31         ar rc "$@" $(OBJS)
32
33 libquickder.so: $(OBJS)
34         gcc -I../include --shared $(CFLAGS) -o "$@" $(OBJS)
35
36 stats: $(OBJS)
37         @for o in *.o ; do objdump -h -j .text $$o | sed -e '/\.text/!d' -e 's/^.*\.text[ \t]*\([^ \t]*\).*/\1'" $${o%.o}/" ;done | while read sz fun ; do printf '%5d %s\n' 0x$$sz $$fun ; done