docs: tiny update
[ana-net.git] / app / Makefile
blob324b5cef50c3163cc9ed0fb5aeb403d20d8d86e3
2 # Lightweight Autonomic Network Architecture
4 # Copyright 2011 Daniel Borkmann <dborkma@tik.ee.ethz.ch>,
5 # Swiss federal institute of technology (ETH Zurich)
6 # Subject to the GPL.
9 LD_NORM = echo "LD $<"; \
10 gcc -pie -z relo
11 CC_NORM = echo "CC $<"; \
12 gcc
14 LD = $(LD_NORM) -o
15 CC = $(CC_NORM) -c
17 MAKEFLAGS += --no-print-directory
19 BINDIR = usr/sbin
20 ETCDIR = etc
22 CFLAGS += -O2 -fno-delete-null-pointer-checks -std=gnu99 -pedantic
23 CFLAGS += -fstack-protector -D_FORTIFY_SOURCE=2 -fPIE -D_REENTRANT
24 CFLAGS += -fno-strict-aliasing
25 CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wuninitialized
27 INCLUDE = -I../src/
29 voe-libs = -lspeexdsp -lasound -lcelt0 -lm
30 voe-objs = voe.o xmalloc.o strlcpy.o alsa.o
31 voe-targ = voe
33 all: build
35 build: build_voe
37 build_voe: $(voe-objs)
38 @$(LD) $(voe-targ) $(voe-objs) $(voe-libs)
40 %.o: %.c
41 @$(CC) $(CFLAGS) $(INCLUDE) $<
43 install:
44 @install -D $(voe-targ) $(DESTDIR)/$(BINDIR)/$(voe-targ)
46 uninstall:
47 @rm $(DESTDIR)/$(BINDIR)/$(voe-targ)
49 clean:
50 @rm *.o *~ $(voe-targ) || true
51 @find -name "*\.o" -exec rm '{}' \; || true
52 @find -name "*\.hi" -exec rm '{}' \; || true
54 help:
55 @echo "make <targets>"
56 @echo "available targets:"
57 @echo " build - Builds source"
58 @echo " clean - Removes generated files"
59 @echo " install - Installs userspace tools into system"
60 @echo " uninstall - Removes userspace tools from system"
61 @echo " help - Shows this help"