| andreto@308 | 1 | # The olsr.org Optimized Link-State Routing daemon(olsrd)
|
| sven-ola@2208 | 2 | # Copyright (c) 2004-2009, the olsr.org team - see HISTORY file
|
| andreto@308 | 3 | # All rights reserved.
|
| andreto@126 | 4 | #
|
| sven-ola@2202 | 5 | # Redistribution and use in source and binary forms, with or without
|
| sven-ola@2202 | 6 | # modification, are permitted provided that the following conditions
|
| andreto@308 | 7 | # are met:
|
| thomas@152 | 8 | #
|
| sven-ola@2202 | 9 | # * Redistributions of source code must retain the above copyright
|
| andreto@308 | 10 | # notice, this list of conditions and the following disclaimer.
|
| sven-ola@2202 | 11 | # * Redistributions in binary form must reproduce the above copyright
|
| sven-ola@2202 | 12 | # notice, this list of conditions and the following disclaimer in
|
| sven-ola@2202 | 13 | # the documentation and/or other materials provided with the
|
| andreto@308 | 14 | # distribution.
|
| sven-ola@2202 | 15 | # * Neither the name of olsr.org, olsrd nor the names of its
|
| sven-ola@2202 | 16 | # contributors may be used to endorse or promote products derived
|
| andreto@308 | 17 | # from this software without specific prior written permission.
|
| thomas@152 | 18 | #
|
| sven-ola@2202 | 19 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| sven-ola@2202 | 20 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| sven-ola@2202 | 21 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
| sven-ola@2202 | 22 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
| sven-ola@2202 | 23 | # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
| sven-ola@2202 | 24 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
| sven-ola@2202 | 25 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
| sven-ola@2202 | 26 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
| sven-ola@2202 | 27 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
| sven-ola@2202 | 28 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
| sven-ola@2202 | 29 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
| andreto@308 | 30 | # POSSIBILITY OF SUCH DAMAGE.
|
| thomas@152 | 31 | #
|
| andreto@308 | 32 | # Visit http://www.olsr.org for more information.
|
| thomas@152 | 33 | #
|
| andreto@308 | 34 | # If you find this software useful feel free to make a donation
|
| andreto@315 | 35 | # to the project. For more information see the website or contact
|
| andreto@308 | 36 | # the copyright holders.
|
| thomas@152 | 37 | #
|
| thomas@890 | 38 |
|
| Administrator@1639 | 39 | # Please also write a new version to:
|
| Administrator@1639 | 40 | # gui/win32/Main/Frontend.rc (line 71, around "CAPTION [...]")
|
| Administrator@1639 | 41 | # gui/win32/Inst/installer.nsi (line 57, around "MessageBox MB_YESNO [...]")
|
| hannes@1752 | 42 | VERS = pre-0.5.7
|
| thomas@1009 | 43 |
|
| br1@752 | 44 | TOPDIR = .
|
| br1@752 | 45 | include Makefile.inc
|
| andreto@126 | 46 |
|
| bernd@1187 | 47 | # pass generated variables to save time
|
| bernd@1059 | 48 | MAKECMD = $(MAKE) OS="$(OS)" WARNINGS="$(WARNINGS)"
|
| bernd@1019 | 49 |
|
| bernd@1382 | 50 | LIBS += $(OS_LIB_DYNLOAD)
|
| br1@809 | 51 |
|
| br1@809 | 52 | ifeq ($(OS), win32)
|
| bernd@1382 | 53 | LDFLAGS += -Wl,--out-implib=libolsrd.a
|
| bernd@1382 | 54 | LDFLAGS += -Wl,--export-all-symbols
|
| br1@809 | 55 | endif
|
| br1@809 | 56 |
|
| sven-ola@2139 | 57 | TAG_SRCS = $(SRCS) $(HDRS)
|
| andreto@1 | 58 |
|
| sven-ola@2138 | 59 | .PHONY: default_target
|
| bernd@1302 | 60 | default_target: $(EXENAME)
|
| andreto@344 | 61 |
|
| bernd@1301 | 62 | $(EXENAME): $(OBJS) src/builddata.o
|
| sven-ola@2140 | 63 | ifeq ($(LD_HAS_DYN), yes)
|
| sven-ola@2140 | 64 | $(SHELL) olsrd-exports.sh $$(find src -name "*.h") > $(EXENAME).exports
|
| sven-ola@2140 | 65 | endif
|
| sven-ola@2140 | 66 | $(CC) $(LDFLAGS) $(LDFLAGS_EXE) -o $@ $^ $(LIBS)
|
| thomas@162 | 67 |
|
| sven-ola@2224 | 68 | CONFDIR = src/config
|
| sven-ola@2224 | 69 | include $(CONFDIR)/local.mk
|
| sven-ola@2224 | 70 |
|
| bernd@1779 | 71 | show-ignored-warnings:
|
| bernd@1779 | 72 | CC="$(CC)" $(TOPDIR)/gcc-warnings $(ALL_WARNINGS) > /dev/null
|
| bernd@1779 | 73 |
|
| bernd@1220 | 74 | # generate it always
|
| bernd@1220 | 75 | .PHONY: src/builddata.c
|
| bernd@1220 | 76 | src/builddata.c:
|
| bernd@1220 | 77 | @$(RM) "$@"
|
| sven-ola@2202 | 78 | @echo "#include \"defs.h\"" >> "$@"
|
| sven-ola@2202 | 79 | @echo "const char olsrd_version[] = \"olsr.org - $(VERS)`hg log -r tip|grep changeset|sed -e s/changeset:\ */\ changeset\ /`\";" >> "$@"
|
| sven-ola@2202 | 80 | @date +"const char build_date[] = \"%Y-%m-%d %H:%M:%S\";" >> "$@"
|
| sven-ola@2202 | 81 | @echo "const char build_host[] = \"$(shell hostname)\";" >> "$@"
|
| bernd@1220 | 82 |
|
| bernd@1220 | 83 |
|
| sven-ola@2202 | 84 | .PHONY: help libs clean_libs libs_clean clean uberclean install_libs libs_install install_bin install_olsrd install build_all install_all clean_all
|
| andreto@161 | 85 |
|
| andreto@344 | 86 | clean:
|
| bernd@1301 | 87 | -rm -f $(OBJS) $(SRCS:%.c=%.d) $(EXENAME) $(EXENAME).exe src/builddata.c $(TMPFILES)
|
| sven-ola@2140 | 88 | -rm -f $(EXENAME).exports
|
| bernd@1179 | 89 | ifeq ($(OS), win32)
|
| bernd@1301 | 90 | -rm -f libolsrd.a
|
| sven-ola@1648 | 91 | -rm -f gui/win32/Main/olsrd_cfgparser.lib
|
| sven-ola@1648 | 92 | -rm -f olsr-setup.exe
|
| sven-ola@1648 | 93 | -rm -fr gui/win32/Main/Release
|
| sven-ola@1648 | 94 | -rm -fr gui/win32/Shim/Release
|
| bernd@1179 | 95 | endif
|
| andreto@210 | 96 |
|
| br1@752 | 97 | install: install_olsrd
|
| br1@752 | 98 |
|
| andreto@344 | 99 | install_bin:
|
| bernd@1936 | 100 | mkdir -p '$(SBINDIR)'
|
| bernd@1936 | 101 | install -m 755 '$(EXENAME)' '$(SBINDIR)'
|
| bernd@1936 | 102 | $(STRIP) '$(SBINDIR)/$(EXENAME)'
|
| andreto@107 | 103 |
|
| andreto@694 | 104 | install_olsrd: install_bin
|
| bernd@1936 | 105 | @echo '========= C O N F I G U R A T I O N - F I L E ============'
|
| bernd@1936 | 106 | @echo '$(EXENAME) uses the configfile $(CFGFILE)'
|
| bernd@1936 | 107 | @echo 'a default configfile. A sample RFC-compliance aimed'
|
| bernd@1936 | 108 | @echo 'configfile can be found in olsrd.conf.default.rfc.'
|
| bernd@1936 | 109 | @echo 'However none of the larger OLSRD using networks use that'
|
| bernd@1936 | 110 | @echo 'so install a configfile with activated link quality exstensions'
|
| bernd@1936 | 111 | @echo 'per default.'
|
| bernd@1936 | 112 | @echo 'can be found at files/olsrd.conf.default.lq'
|
| bernd@1936 | 113 | @echo '=========================================================='
|
| bernd@1936 | 114 | mkdir -p '$(ETCDIR)'
|
| bernd@1938 | 115 | -cp -i 'files/olsrd.conf.default.lq' '$(CFGFILE)'
|
| bernd@1936 | 116 | @echo '-------------------------------------------'
|
| bernd@1936 | 117 | @echo 'Edit $(CFGFILE) before running olsrd!!'
|
| bernd@1936 | 118 | @echo '-------------------------------------------'
|
| bernd@1936 | 119 | @echo 'Installing manpages $(EXENAME)(8) and $(CFGNAME)(5)'
|
| sven-ola@2194 | 120 | mkdir -p '$(MANDIR)/man3'
|
| sven-ola@2194 | 121 | cp 'files/olsrd-metrics.3.gz' '$(MANDIR)/man3/olsrd-metrics.3.gz'
|
| sven-ola@2194 | 122 | mkdir -p '$(MANDIR)/man5'
|
| sven-ola@2194 | 123 | cp 'files/olsrd.conf.5.gz' '$(MANDIR)/man5/$(CFGNAME).5.gz'
|
| bernd@1936 | 124 | mkdir -p '$(MANDIR)/man8'
|
| bernd@1936 | 125 | cp 'files/olsrd.8.gz' '$(MANDIR)/man8/$(EXENAME).8.gz'
|
| br1@752 | 126 |
|
| br1@752 | 127 | tags:
|
| andreto@831 | 128 | $(TAGCMD) -o $(TAGFILE) $(TAG_SRCS)
|
| andreto@107 | 129 |
|
| bernd@1832 | 130 | RPMVER = $(patsubst pre-%,%pre,$(VERS))
|
| bernd@1832 | 131 | RPMDIR = ../olsrd-$(RPMVER)
|
| bernd@1832 | 132 | RPMRELEASE = $(shell hg tip | { read tag val && echo "$$val"; })
|
| bernd@1832 | 133 | redhat/olsrd.spec: redhat/olsrd.spec.in Makefile Makefile.inc
|
| bernd@1832 | 134 | @sed -e 's/@VERSION@/$(RPMVER)/' -e 's/@RELEASE@/$(RPMRELEASE)/' < "$<" > "$@"
|
| bernd@1832 | 135 |
|
| bernd@1832 | 136 | rpm: redhat/olsrd.spec
|
| bernd@1832 | 137 | @echo "Creating $(RPMDIR).tar.bz2 ..."
|
| bernd@1832 | 138 | @hg archive --type "tar" "$(RPMDIR).tar"
|
| bernd@1832 | 139 | @tar --file "$(RPMDIR).tar" --append "$<"
|
| bernd@1832 | 140 | @echo "Building RPMs..."
|
| bernd@1832 | 141 | @rpmbuild -ta "$(RPMDIR).tar"
|
| bernd@1832 | 142 | @bzip2 --best --force "$(RPMDIR).tar"
|
| bernd@1832 | 143 |
|
| andreto@433 | 144 | #
|
| andreto@433 | 145 | # PLUGINS
|
| andreto@433 | 146 | #
|
| andreto@433 | 147 |
|
| sven-ola@1648 | 148 | # This is quite ugly but at least it works
|
| sven-ola@1648 | 149 | ifeq ($(OS),linux)
|
| sven-ola@1648 | 150 | SUBDIRS = $(notdir $(shell find lib -maxdepth 2 -name Makefile -not -path lib/Makefile -printf "%h\n"|sort))
|
| sven-ola@1648 | 151 | else
|
| sven-ola@1648 | 152 | ifeq ($(OS),win32)
|
| sven-ola@2171 | 153 | SUBDIRS := dot_draw httpinfo lq_etx_ff lq_etx_float lq_etx_fpm lq_rfc mini secure txtinfo watchdog
|
| sven-ola@1648 | 154 | else
|
| zioproto@2289 | 155 | SUBDIRS := bmf dot_draw dyn_gw dyn_gw_plain httpinfo lq_etx_ff lq_etx_float lq_etx_fpm lq_rfc mdns mini nameservice secure txtinfo watchdog
|
| sven-ola@1648 | 156 | endif
|
| sven-ola@1648 | 157 | endif
|
| sven-ola@1648 | 158 |
|
| sven-ola@1648 | 159 | libs:
|
| sven-ola@1648 | 160 | set -e;for dir in $(SUBDIRS);do $(MAKECMD) -C lib/$$dir LIBDIR=$(LIBDIR);done
|
| andreto@1 | 161 |
|
| br1@752 | 162 | libs_clean clean_libs:
|
| sven-ola@1648 | 163 | -for dir in $(SUBDIRS);do $(MAKECMD) -C lib/$$dir LIBDIR=$(LIBDIR) clean;done
|
| sven-ola@1648 | 164 | ifeq ($(OS), win32)
|
| sven-ola@1648 | 165 | -rm -f lib/txtinfo/olsrd_txtinfo.dll
|
| sven-ola@1648 | 166 | -rm -f lib/httpinfo/olsrd_httpinfo.dll
|
| sven-ola@1648 | 167 | -rm -f lib/secure/olsrd_secure.dll
|
| sven-ola@1648 | 168 | -rm -f lib/dot_draw/olsrd_dot_draw.dll
|
| sven-ola@1648 | 169 | -rm -f lib/mini/olsrd_mini.dll
|
| sven-ola@1648 | 170 | endif
|
| andreto@1 | 171 |
|
| br1@752 | 172 | libs_install install_libs:
|
| sven-ola@1648 | 173 | set -e;for dir in $(SUBDIRS);do $(MAKECMD) -C lib/$$dir LIBDIR=$(LIBDIR) install;done
|
| andreto@1 | 174 |
|
| andreto@433 | 175 | httpinfo:
|
| bernd@1019 | 176 | $(MAKECMD) -C lib/httpinfo clean
|
| sven-ola@2202 | 177 | $(MAKECMD) -C lib/httpinfo
|
| sven-ola@2202 | 178 | $(MAKECMD) -C lib/httpinfo DESTDIR=$(DESTDIR) install
|
| andreto@433 | 179 |
|
| andreto@433 | 180 | dot_draw:
|
| bernd@1019 | 181 | $(MAKECMD) -C lib/dot_draw clean
|
| bernd@1301 | 182 | $(MAKECMD) -C lib/dot_draw
|
| bernd@1019 | 183 | $(MAKECMD) -C lib/dot_draw DESTDIR=$(DESTDIR) install
|
| andreto@433 | 184 |
|
| thomas@640 | 185 | nameservice:
|
| bernd@1019 | 186 | $(MAKECMD) -C lib/nameservice clean
|
| bernd@1301 | 187 | $(MAKECMD) -C lib/nameservice
|
| bernd@1019 | 188 | $(MAKECMD) -C lib/nameservice DESTDIR=$(DESTDIR) install
|
| thomas@640 | 189 |
|
| andreto@433 | 190 | dyn_gw:
|
| bernd@1019 | 191 | $(MAKECMD) -C lib/dyn_gw clean
|
| bernd@1019 | 192 | $(MAKECMD) -C lib/dyn_gw
|
| bernd@1019 | 193 | $(MAKECMD) -C lib/dyn_gw DESTDIR=$(DESTDIR) install
|
| andreto@433 | 194 |
|
| bernd@956 | 195 | dyn_gw_plain:
|
| bernd@1019 | 196 | $(MAKECMD) -C lib/dyn_gw_plain clean
|
| bernd@1019 | 197 | $(MAKECMD) -C lib/dyn_gw_plain
|
| bernd@1019 | 198 | $(MAKECMD) -C lib/dyn_gw_plain DESTDIR=$(DESTDIR) install
|
| bernd@956 | 199 |
|
| andreto@433 | 200 | secure:
|
| bernd@1019 | 201 | $(MAKECMD) -C lib/secure clean
|
| bernd@1019 | 202 | $(MAKECMD) -C lib/secure
|
| bernd@1019 | 203 | $(MAKECMD) -C lib/secure DESTDIR=$(DESTDIR) install
|
| dcornejo@817 | 204 |
|
| andreto@918 | 205 | bmf:
|
| bernd@1019 | 206 | $(MAKECMD) -C lib/bmf clean
|
| sven-ola@2202 | 207 | $(MAKECMD) -C lib/bmf
|
| sven-ola@2202 | 208 | $(MAKECMD) -C lib/bmf DESTDIR=$(DESTDIR) install
|
| bernd@970 | 209 |
|
| zioproto@2289 | 210 | mdns:
|
| zioproto@2289 | 211 | $(MAKECMD) -C lib/mdns clean
|
| zioproto@2289 | 212 | $(MAKECMD) -C lib/mdns
|
| zioproto@2289 | 213 | $(MAKECMD) -C lib/mdns DESTDIR=$(DESTDIR) install
|
| bernd@970 | 214 | quagga:
|
| bernd@1019 | 215 | $(MAKECMD) -C lib/quagga clean
|
| sven-ola@2202 | 216 | $(MAKECMD) -C lib/quagga
|
| sven-ola@2202 | 217 | $(MAKECMD) -C lib/quagga DESTDIR=$(DESTDIR) install
|
| bernd@970 | 218 |
|
| hannes@1491 | 219 | txtinfo:
|
| hannes@1491 | 220 | $(MAKECMD) -C lib/txtinfo clean
|
| sven-ola@2202 | 221 | $(MAKECMD) -C lib/txtinfo
|
| sven-ola@2202 | 222 | $(MAKECMD) -C lib/txtinfo DESTDIR=$(DESTDIR) install
|
| andreto@918 | 223 |
|
| eric@1763 | 224 | arprefresh:
|
| eric@1763 | 225 | $(MAKECMD) -C lib/arprefresh clean
|
| eric@1763 | 226 | $(MAKECMD) -C lib/arprefresh
|
| eric@1763 | 227 | $(MAKECMD) -C lib/arprefresh DESTDIR=$(DESTDIR) install
|
| eric@1763 | 228 |
|
| rogge@2065 | 229 | watchdog:
|
| rogge@2065 | 230 | $(MAKECMD) -C lib/watchdog clean
|
| rogge@2065 | 231 | $(MAKECMD) -C lib/watchdog
|
| rogge@2065 | 232 | $(MAKECMD) -C lib/watchdog DESTDIR=$(DESTDIR) install
|
| rogge@2065 | 233 |
|
| sven-ola@2224 | 234 | build_all: all libs config-verify
|
| sven-ola@2224 | 235 | install_all: install install_libs config-verify_install
|
| sven-ola@2224 | 236 | clean_all: clean clean_libs config-verify_clean
|
| sven-ola@2224 | 237 |
|
| sven-ola@2224 | 238 | uberclean: clean_all
|
| sven-ola@2224 | 239 | -rm -f $(TAGFILE)
|
| sven-ola@2224 | 240 | # BSD-xargs has no "--no-run-if-empty" aka "-r"
|
| sven-ola@2224 | 241 | find . \( -name '*.[od]' -o -name '*~' \) -not -path "*/.hg*" -print0 | xargs -0 rm -f
|