Rename zebra route structure and members
[olsrd.git] / Makefile
index 45043fe..7409421 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 # The olsr.org Optimized Link-State Routing daemon(olsrd)
-# Copyright (c) 2004, Andreas TΓΈnnesen(andreto@olsr.org)
+# Copyright (c) 2004, Andreas Tonnesen(andreto@olsr.org)
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without 
 # the copyright holders.
 #
 
-VERS =         0.5.6pre
+# Please also write a new version to:
+# gui/win32/Main/Frontend.rc (line 71, around "CAPTION [...]")
+# gui/win32/Inst/installer.nsi (line 57, around "MessageBox MB_YESNO [...]")
+VERS =         pre-0.5.7.0
 
 TOPDIR = .
 include Makefile.inc
@@ -62,7 +65,7 @@ default_target: $(EXENAME)
 $(EXENAME):    $(OBJS) src/builddata.o
                $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
 
-cfgparser:     $(CFGDEPS)
+cfgparser:     $(CFGDEPS) src/builddata.o
                $(MAKE) -C $(CFGDIR)
 
 switch:                
@@ -82,15 +85,19 @@ src/builddata.c:
 
 clean:
        -rm -f $(OBJS) $(SRCS:%.c=%.d) $(EXENAME) $(EXENAME).exe src/builddata.c $(TMPFILES)
-ifeq ($(OS), win32)
        -rm -f libolsrd.a
-endif
+       -rm -f olsr_switch.exe
+       -rm -f gui/win32/Main/olsrd_cfgparser.lib
+       -rm -f olsr-setup.exe
+       -rm -fr gui/win32/Main/Release
+       -rm -fr gui/win32/Shim/Release
 
 uberclean:     clean clean_libs
        -rm -f $(TAGFILE)
 #      BSD-xargs has no "--no-run-if-empty" aka "-r"
        find . \( -name '*.[od]' -o -name '*~' \) -not -path "*/.hg*" -print0 | xargs -0 rm -f
        $(MAKECMD) -C $(SWITCHDIR) clean
+       $(MAKECMD) -C $(CFGDIR) clean
 
 install: install_olsrd
 
@@ -115,10 +122,12 @@ install_olsrd:    install_bin
                @echo Edit $(CFGFILE) before running olsrd!!
                @echo -------------------------------------------
                @echo Installing manpages $(EXENAME)\(8\) and $(CFGNAME)\(5\)
+ifneq ($(MANDIR),)
                mkdir -p $(MANDIR)/man8/
                cp files/olsrd.8.gz $(MANDIR)/man8/$(EXENAME).8.gz
                mkdir -p $(MANDIR)/man5/
                cp files/olsrd.conf.5.gz $(MANDIR)/man5/$(CFGNAME).5.gz
+endif
 
 tags:
                $(TAGCMD) -o $(TAGFILE) $(TAG_SRCS)
@@ -133,14 +142,30 @@ rpm:
 # PLUGINS
 #
 
-libs: 
-               $(MAKECMD) -C lib LIBDIR=$(LIBDIR)
+# This is quite ugly but at least it works
+ifeq ($(OS),linux)
+SUBDIRS = $(notdir $(shell find lib -maxdepth 2 -name Makefile -not -path lib/Makefile -printf "%h\n"|sort))
+else
+ifeq ($(OS),win32)
+SUBDIRS := dot_draw httpinfo mini pgraph secure txtinfo
+else
+ifeq ($(OS),android)
+# nameservice: no regex
+SUBDIRS := bmf dot_draw dyn_gw_plain httpinfo mini quagga secure tas txtinfo watchdog
+else
+SUBDIRS := dot_draw dyn_gw dyn_gw_plain httpinfo mini nameservice pgraph secure txtinfo watchdog
+endif
+endif
+endif
+
+libs:
+               set -e;for dir in $(SUBDIRS);do $(MAKECMD) -C lib/$$dir LIBDIR=$(LIBDIR);done
 
 libs_clean clean_libs:
-               $(MAKECMD) -C lib LIBDIR=$(LIBDIR) clean
+               -for dir in $(SUBDIRS);do $(MAKECMD) -C lib/$$dir LIBDIR=$(LIBDIR) clean;rm -f lib/$$dir/*.so lib/$$dir/*.dll;done
 
 libs_install install_libs:
-               $(MAKECMD) -C lib LIBDIR=$(LIBDIR) install
+               set -e;for dir in $(SUBDIRS);do $(MAKECMD) -C lib/$$dir LIBDIR=$(LIBDIR) install;done
 
 httpinfo:
                $(MAKECMD) -C lib/httpinfo clean
@@ -197,6 +222,16 @@ txtinfo:
                $(MAKECMD) -C lib/txtinfo 
                $(MAKECMD) -C lib/txtinfo DESTDIR=$(DESTDIR) install 
 
+arprefresh:
+               $(MAKECMD) -C lib/arprefresh clean
+               $(MAKECMD) -C lib/arprefresh
+               $(MAKECMD) -C lib/arprefresh DESTDIR=$(DESTDIR) install
+
+watchdog:
+               $(MAKECMD) -C lib/watchdog clean
+               $(MAKECMD) -C lib/watchdog
+               $(MAKECMD) -C lib/watchdog DESTDIR=$(DESTDIR) install
+
 build_all:     all switch libs
 install_all:   install install_libs
 clean_all:     uberclean clean_libs