Reported by Trent Creekmore
[dahdi/tools.git] / Makefile.legacy
1 #
2 # Makefile for DAHDI tools
3 #
4 # Copyright (C) 2001-2010 Digium, Inc.
5 #
6 #
7
8 ifeq ($(strip $(foreach var,clean,$(findstring $(var),$(MAKECMDGOALS)))),)
9 endif
10
11 ifeq ($(strip $(foreach var,clean,$(findstring $(var),$(MAKECMDGOALS)))),)
12  ifneq ($(wildcard makeopts),)
13   include makeopts
14  endif
15 endif
16
17 CHKCONFIG       := $(wildcard /sbin/chkconfig)
18 UPDATE_RCD      := $(wildcard /usr/sbin/update-rc.d)
19 ifeq (,$(DESTDIR))
20   ifneq (,$(CHKCONFIG))
21     ADD_INITD   := $(CHKCONFIG) --add dahdi
22   else
23     ifneq (,$(UPDATE_RCD))
24       ADD_INITD := $(UPDATE_RCD) dahdi defaults 15 30
25     endif
26   endif
27 endif
28
29 INITRD_DIR      := $(firstword $(wildcard $(DESTDIR)/etc/rc.d/init.d $(DESTDIR)/etc/init.d))
30 ifneq (,$(INITRD_DIR))
31   INIT_TARGET   := $(INITRD_DIR)/dahdi
32   COPY_INITD    := install -D dahdi.init $(INIT_TARGET)
33 endif
34
35 NETSCR_DIR      := $(firstword $(wildcard $(DESTDIR)/etc/sysconfig/network-scripts ))
36 ifneq (,$(NETSCR_DIR))
37   NETSCR_TARGET := $(NETSCR_DIR)/ifup-hdlc
38   COPY_NETSCR   := install -D ifup-hdlc $(NETSCR_TARGET)
39 endif
40
41 # sbindir, libdir, includedir and mandir are defined in makeopts
42 # (from configure).
43 LIB_DIR:=$(libdir)
44
45 # All the man pages. Not just installed ones:
46 GROFF_PAGES     := $(wildcard doc/*.8 xpp/*.8)
47 GROFF_HTML      := $(GROFF_PAGES:%=%.html)
48
49 GENERATED_DOCS  := $(GROFF_HTML) README.html README.Astribank.html
50
51 all:
52
53 tonezones.txt: zonedata.c
54         perl -ne 'next unless (/\.(country|description) = *"([^"]*)/); \
55                 print (($$1 eq "country")? "* $$2\t":"$$2\n");' $<  \
56         >$@
57
58 %.asciidoc: %.sample
59         perl -n -e \
60                 'if (/^#($$|\s)(.*)/){ if (!$$in_doc){print "\n"}; $$in_doc=1; print "$$2\n" } else { if ($$in_doc){print "\n"}; $$in_doc=0; print "  $$_" }' \
61                 $< \
62         | perl -p -e 'if (/^  #?(\w+)=/ && ! exists $$cfgs{$$1}){my $$cfg = $$1; $$cfgs{$$cfg} = 1; s/^/\n[[cfg_$$cfg]]\n/}'  >$@
63
64 docs: $(GENERATED_DOCS)
65
66 genconf_parameters.sample: xpp/genconf_parameters
67         cp $< $@
68
69 README.html: README system.conf.asciidoc init.conf.asciidoc tonezones.txt \
70   UPGRADE.txt genconf_parameters.asciidoc assigned-spans.conf.asciidoc \
71   span-types.conf.asciidoc
72         TZ=UTC $(ASCIIDOC) -n -a toc -a toclevels=4 $<
73
74 README.Astribank.html: xpp/README.Astribank
75         TZ=UTC $(ASCIIDOC) -o $@ -n -a toc -a toclevels=4 $<
76
77 # on Debian: this requires the full groff, not just groff-base.
78 %.8.html: %.8
79         man -Thtml $^ >$@
80
81 htmlman: $(GROFF_HTML)
82
83 install: all install-programs
84         @echo "###################################################"
85         @echo "###"
86         @echo "### DAHDI tools installed successfully."
87         @echo "### If you have not done so before, install init scripts with:"
88         @echo "###"
89         @echo "###   make install-config"
90         @echo "###"
91         @echo "###################################################"
92
93 install-programs: install-libs
94
95 install-libs:
96 ifneq (no,$(USE_SELINUX))
97   ifeq (,$(DESTDIR))
98         /sbin/restorecon -v $(DESTDIR)$(LIB_DIR)/$(LTZ_SO)
99   endif
100 endif
101
102 config:
103 ifneq (,$(COPY_INITD))
104         $(COPY_INITD)
105 endif
106 ifneq (,$(COPY_NETSCR))
107         $(COPY_NETSCR)
108 endif
109 ifneq (,$(ADD_INITD))
110         $(ADD_INITD)
111 endif
112         @echo "DAHDI has been configured."
113         @echo ""
114         @echo "List of detected DAHDI devices:"
115         @echo ""
116         @if [ `xpp/dahdi_hardware | tee /dev/stderr | wc -l` -eq 0 ]; then \
117                 echo "No hardware found"; \
118         else \
119                 echo ""; \
120                 echo "run 'dahdi_genconf modules' to load support for only " ;\
121                 echo "the DAHDI hardware installed in this system.  By "; \
122                 echo "default support for all DAHDI hardware is loaded at "; \
123                 echo "DAHDI start. "; \
124         fi
125
126 clean:
127         rm -f *.o tzdriver
128         rm -f core
129         rm -rf $(GENERATED_DOCS) *.asciidoc tonezones.txt
130
131 .PHONY: clean all install devel data config install-programs install-libs
132
133 FORCE: