1 # [g]make USE_xxxx=1 2 # 3 # USE_SHARED_CACHE : enable/disable a shared session cache (disabled by default) 4 5 DESTDIR = 6 PREFIX = /usr/local 7 BINDIR = $(PREFIX)/bin 8 MANDIR = $(PREFIX)/share/man 9 10 CFLAGS = -O2 -g -std=c99 -fno-strict-aliasing -Wall -W -D_GNU_SOURCE 11 LDFLAGS = -lssl -lcrypto -lev 12 OBJS = stud.o ringbuffer.o 13 14 all: realall 15 16 # Shared cache feature 17 ifneq ($(USE_SHARED_CACHE),) 18 CFLAGS += -DUSE_SHARED_CACHE -DUSE_SYSCALL_FUTEX 19 OBJS += shctx.o ebtree/libebtree.a 20 ALL += ebtree 21 22 ebtree/libebtree.a: $(wildcard ebtree/*.c) 23 make -C ebtree 24 ebtree: 25 @[ -d ebtree ] || ( \ 26 echo "*** Download libebtree at http://1wt.eu/tools/ebtree/" ; \ 27 echo "*** Untar it and make a link named 'ebtree' to point on it"; \ 28 exit 1 ) 29 endif 30 31 ALL += stud 32 realall: $(ALL) 33 34 stud: $(OBJS) 35 $(CC) $(LDFLAGS) -o $@ $^ 36 37 install: $(ALL) 38 install -d $(DESTDIR)$(BINDIR) 39 install stud $(DESTDIR)$(BINDIR) 40 install -d $(DESTDIR)$(MANDIR)/man8 41 install -m 644 doc/stud.8 $(DESTDIR)$(MANDIR)/man8 42 43 clean: 44 rm -f stud $(OBJS) 45 46 47 .PHONY: all realall