summaryrefslogtreecommitdiff
path: root/Makefile
blob: 5790896b4db7c85d28a0f63ffb63adb75519c336 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
CC ?= cc
STND ?= -ansi -pedantic
CFLAGS += $(STND) -O2 -Wall -Wextra -Wunreachable-code -ftrapv -fPIC \
	-D_POSIX_C_SOURCE=2
PREFIX=/usr/local
LIBDIR=$(DESTDIR)$(PREFIX)/lib
PKGCONFIGDIR=$(LIBDIR)/pkgconfig
HDIR=$(DESTDIR)$(PREFIX)/include

MAJOR=0
MINOR=4
REVISION=0
VERSION=$(MAJOR).$(MINOR).$(REVISION)

all: libpfxtree.so libpfxtree.a

libpfxtree_deps=pfxtree.o
libpfxtree.a: $(libpfxtree_deps)
	$(AR) rcs $@ $(libpfxtree_deps)

libpfxtree.so: $(libpfxtree_deps)
	$(CC) -shared -o $@ $(libpfxtree_deps)

pfxtree_test_deps=pfxtree-test.o libpfxtree.a
pfxtree-test: $(pfxtree_test_deps)
	$(CC) -o $@ $(pfxtree_test_deps)

test: pfxtree-test
	./pfxtree-test

install: libpfxtree.so
	install -m755 libpfxtree.so $(LIBDIR)/libpfxtree.so.$(VERSION)
	install -m644 pfxtree.h $(HDIR)/pfxtree.h
	ln -sf $(LIBDIR)/libpfxtree.so.$(VERSION) $(LIBDIR)/libpfxtree.so.$(MAJOR)
	ln -sf $(LIBDIR)/libpfxtree.so.$(VERSION) $(LIBDIR)/libpfxtree.so

clean:
	rm -f *.o *.a *.so pfxtree-test