Adde olsr_switch stuff
[olsrd.git] / Makefile
1 # The olsr.org Optimized Link-State Routing daemon(olsrd)
2 # Copyright (c) 2004, Andreas T√łnnesen(andreto@olsr.org)
3 # All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or without 
6 # modification, are permitted provided that the following conditions 
7 # are met:
8 #
9 # * Redistributions of source code must retain the above copyright 
10 #   notice, this list of conditions and the following disclaimer.
11 # * Redistributions in binary form must reproduce the above copyright 
12 #   notice, this list of conditions and the following disclaimer in 
13 #   the documentation and/or other materials provided with the 
14 #   distribution.
15 # * Neither the name of olsr.org, olsrd nor the names of its 
16 #   contributors may be used to endorse or promote products derived 
17 #   from this software without specific prior written permission.
18 #
19 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
20 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
21 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
22 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
23 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
24 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
25 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
26 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
27 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
29 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
30 # POSSIBILITY OF SUCH DAMAGE.
31 #
32 # Visit http://www.olsr.org for more information.
33 #
34 # If you find this software useful feel free to make a donation
35 # to the project. For more information see the website or contact
36 # the copyright holders.
37 #
38 # $Id: Makefile,v 1.61 2005/05/30 13:15:42 kattemat Exp $
39
40 TOPDIR = .
41 include Makefile.inc
42
43 VERS =          0.4.10pre
44
45 SWITCHDIR =     src/olsr_switch
46 CFGDIR =        src/cfgparser
47 CFGOBJS =       $(CFGDIR)/oscan.o $(CFGDIR)/oparse.o $(CFGDIR)/olsrd_conf.o
48 CFGDEPS =       $(wildcard $(CFGDIR)/*.c) $(wildcard $(CFGDIR)/*.h) $(CFGDIR)/oparse.y $(CFGDIR)/oscan.lex
49
50 default_target: cfgparser olsrd
51
52 olsrd:          $(OBJS) $(CFGOBJS)
53                 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(CFGOBJS) $(LIBS)
54
55 cfgparser:      $(CFGDEPS)
56                 $(MAKE) -C $(CFGDIR)
57
58 switch:         
59                 $(MAKE) -C $(SWITCHDIR)
60
61 $(CFGOBJS):
62                 $(MAKE) -C $(CFGDIR)
63
64 .PHONY: help libs clean_libs libs_clean clean uberclean install_libs libs_install install_bin install_olsrd install
65
66 clean:
67                 -rm -f $(OBJS) $(SRCS:%.c=%.d) olsrd olsrd.exe $(TAGFILE)
68                 $(MAKE) -C $(CFGDIR) clean
69                 $(MAKE) -C $(SWITCHDIR) clean
70
71 uberclean:      clean clean_libs
72                 -rm -f src/*[od~] src/linux/*[od~] src/unix/*[od~] src/win32/*[od~]
73                 -rm -f src/bsd/*[od~] 
74                 $(MAKE) -C $(CFGDIR) uberclean
75                 $(MAKE) -C $(SWITCHDIR) clean
76
77 install: install_olsrd
78
79 install_bin:
80                 $(STRIP) $(EXENAME)
81                 mkdir -p $(SBINDIR)
82                 install -m 755 $(EXENAME) $(SBINDIR)
83
84 install_olsrd:  install_bin
85                 @echo ========= C O N F I G U R A T I O N - F I L E ============
86                 @echo olsrd uses the configfile $(INSTALL_PREFIX)/etc/olsr.conf
87                 @echo a default configfile. A sample RFC-compliance aimed
88                 @echo configfile can be installed. Note that a LQ-based configfile
89                 @echo can be found at files/olsrd.conf.default.lq
90                 @echo ==========================================================
91                 mkdir -p $(ETCDIR)
92                 -cp -i files/olsrd.conf.default.rfc $(CFGFILE)
93                 @echo -------------------------------------------
94                 @echo Edit $(CFGFILE) before running olsrd!!
95                 @echo -------------------------------------------
96                 @echo Installing manpages olsrd\(8\) and olsrd.conf\(5\)
97                 mkdir -p $(MANDIR)/man8/
98                 cp files/olsrd.8.gz $(MANDIR)/man8/olsrd.8.gz
99                 mkdir -p $(MANDIR)/man5/
100                 cp files/olsrd.conf.5.gz $(MANDIR)/man5/olsrd.conf.5.gz
101
102 tags:
103                 $(TAGCMD) -o $(TAGFILE) $(SRCS) $(HDRS) $(wildcard src/cfgparser/*.c) $(wildcard src/cfgparser/*.h)
104
105 #
106 # PLUGINS
107 #
108
109 libs: 
110                 $(MAKE) -C lib LIBDIR=$(LIBDIR)
111
112 libs_clean clean_libs:
113                 $(MAKE) -C lib LIBDIR=$(LIBDIR) clean
114
115 libs_install install_libs:
116                 $(MAKE) -C lib LIBDIR=$(LIBDIR) install
117
118 httpinfo:
119                 $(MAKE) -C lib/httpinfo clean
120                 $(MAKE) -C lib/httpinfo 
121                 $(MAKE) -C lib/httpinfo install 
122
123 tas:
124                 $(MAKE) -C lib/tas clean
125                 $(MAKE) -C lib/tas install
126
127 dot_draw:
128                 $(MAKE) -C lib/dot_draw clean
129                 $(MAKE) -C lib/dot_draw install
130
131 nameservice:
132                 $(MAKE) -C lib/nameservice clean
133                 $(MAKE) -C lib/nameservice install
134
135 dyn_gw:
136                 $(MAKE) -C lib/dyn_gw clean
137                 $(MAKE) -C lib/dyn_gw
138                 $(MAKE) -C lib/dyn_gw install
139
140 powerinfo:
141                 $(MAKE) -C lib/powerinfo clean
142                 $(MAKE) -C lib/powerinfo 
143                 $(MAKE) -C lib/powerinfo install
144
145 secure:
146                 $(MAKE) -C lib/secure clean
147                 $(MAKE) -C lib/secure
148                 $(MAKE) -C lib/secure install