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