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