uppercase
[rrq/rrqnet.git] / Makefile
1 SBINDIR = $(DESTDIR)/usr/sbin
2 ETCDIR = $(DESTDIR)/etc/rrqnet
3 MAN1DIR = $(DESTDIR)/usr/share/man/man1
4 MAN8DIR = $(DESTDIR)/usr/share/man/man8
5 LINTIAN = $(DESTDIR)/usr/share/lintian/overrides
6
7 SBINCFILES = rrqnet
8 SBINFILES = rrqnet-cron $(SBINCFILES)
9 ETCFILES = set-source-route.sh ifupdown.sh
10 MAN1FILES = 
11 MAN8FILES = rrqnet.8 rrqnet-cron.8 rrqnet-ifupdown.sh.8
12 HTMLDOC = $(MAN8FILES:%=%.html)
13
14 .PHONY: ifupdown.sh
15
16 all: $(SBINFILES) $(ETCFILES) $(MAN1FILES) $(MAN8FILES) $(HTMLDOC)
17
18 squeezetest: squeeze.c squeezetest.c
19
20 $(HTMLDOC): %.html: %.adoc
21         asciidoc -bhtml $^
22
23 $(MAN8FILES): %: %.adoc
24         a2x -d manpage -f manpage $^
25
26 rrqnet: LDFLAGS += -lpthread
27 rrqnet: rrqnet.c htable.h htable.c sockaddr.h queue.h queue.c
28
29 rrqnet.E: rrqnet.c htable.c
30         $(CC) -W -Wall $^ > $@
31
32 COMPILEOPTS = -g -W -Wall
33 #COMPILEOPTS = -pg -no-pie  -g -DGPROF
34
35 STATIC = -static
36 $(filter-out %.sh,$(SBINCFILES)): %: %.c 
37         $(CC) $(COMPILEOPTS) $(STATIC) -o $@ $^ $(LDFLAGS)
38
39 .PHONY: clean
40 clean:
41         rm -f $(filter-out %.sh,$(SBINCFILES))
42
43 # Installation targets
44
45 INSTALLTARGETS = $(addprefix $(SBINDIR)/,$(SBINFILES))
46 INSTALLTARGETS += $(addprefix $(ETCDIR)/,$(ETCFILES))
47 INSTALLTARGETS += $(addprefix $(MAN1DIR)/,$(MAN1FILES))
48 INSTALLTARGETS += $(addprefix $(MAN8DIR)/,$(MAN8FILES))
49 INSTALLTARGETS += $(LINTIAN)/rrqnet
50
51 #INSTALL = install -b -S orig
52 INSTALL = install
53
54 $(LINTIAN)/rrqnet: debian/lintian-overrides
55         mkdir -p ${@:/rrqnet=}
56         cp $^ $@
57
58 $(addprefix $(ETCDIR)/,conf.d keys):
59         mkdir -p $@
60
61 $(ETCDIR)/ifupdown.sh: rrqnet-ifupdown.sh
62         $(INSTALL) -D -T $< $@
63
64 $(SBINDIR)/% $(ETCDIR)/% $(MAN1DIR)/% $(MAN8DIR)/%: %
65         $(INSTALL) -D -T $< $@
66
67 install: $(INSTALLTARGETS)
68
69 BUILDPACKAGE = -us -uc -G
70 deb:
71         PREFIX= INCLUDE_PREFIX=/usr dpkg-buildpackage $(BUILDPACKAGE)