version bump
[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
6 SBINCFILES = rrqnet
7 SBINFILES = rrqnet-cron $(SBINCFILES)
8 ETCFILES = set-source-route.sh ifupdown.sh
9 MAN1FILES = 
10 MAN8FILES = rrqnet.8 rrqnet-cron.8 rrqnet-ifupdown.sh.8
11 HTMLDOC = $(MAN8FILES:%=%.html)
12
13 .PHONY: ifupdown.sh
14
15 all: $(SBINFILES) $(ETCFILES) $(MAN1FILES) $(MAN8FILES) $(HTMLDOC)
16
17 squeezetest: squeeze.c squeezetest.c
18
19 $(HTMLDOC): %.html: %.adoc
20         asciidoc -bhtml $^
21
22 $(MAN8FILES): %: %.adoc
23         a2x -d manpage -f manpage $^
24
25 rrqnet: LDFLAGS += -lpthread
26 rrqnet: rrqnet.c htable.h htable.c sockaddr.h queue.h queue.c
27
28 rrqnet.E: rrqnet.c htable.c
29         $(CC) -W -Wall $^ > $@
30
31 COMPILEOPTS = -g -W -Wall
32 #COMPILEOPTS = -pg -no-pie  -g -DGPROF
33
34 #STATIC = -static
35 $(filter-out %.sh,$(SBINCFILES)): %: %.c 
36         $(CC) $(COMPILEOPTS) $(STATIC) -o $@ $^ $(LDFLAGS)
37
38 .PHONY: clean
39 clean:
40         rm -f $(filter-out %.sh,$(SBINCFILES))
41
42 # Installation targets
43
44 INSTALLTARGETS = $(addprefix $(SBINDIR)/,$(SBINFILES))
45 INSTALLTARGETS += $(addprefix $(ETCDIR)/,$(ETCFILES))
46 INSTALLTARGETS += $(addprefix $(MAN1DIR)/,$(MAN1FILES))
47 INSTALLTARGETS += $(addprefix $(MAN8DIR)/,$(MAN8FILES))
48
49 #INSTALL = install -b -S orig
50 INSTALL = install
51
52 $(addprefix $(ETCDIR)/,conf.d keys):
53         mkdir -p $@
54
55 $(ETCDIR)/ifupdown.sh: rrqnet-ifupdown.sh
56         $(INSTALL) -D -T $< $@
57
58 $(SBINDIR)/% $(ETCDIR)/% $(MAN1DIR)/% $(MAN8DIR)/%: %
59         $(INSTALL) -D -T $< $@
60
61 install: $(INSTALLTARGETS)
62
63 BUILDPACKAGE = -us -uc --build=full
64 deb:
65         PREFIX= INCLUDE_PREFIX=/usr dpkg-buildpackage $(BUILDPACKAGE)