another round of Makefile cleanup
authorBruno Randolf <br1@einfach.org>
Wed, 25 May 2005 13:50:22 +0000 (13:50 +0000)
committerBruno Randolf <br1@einfach.org>
Wed, 25 May 2005 13:50:22 +0000 (13:50 +0000)
 - guess the OS (via OS env variable and uname), no need to make OS=xxx
   anymore
 - seperate OS specific stuff into make/Makefile.$OS
 - all Makefiles include Makefile.inc which includes the OS
   specifics and provides defaults for about anything
 - this removes a lot of copy & paste from all Makefiles
 - dependency generation with gcc flags -MD instead of "makedepends"

22 files changed:
Makefile
Makefile.inc [new file with mode: 0644]
lib/Makefile
lib/dot_draw/Makefile
lib/dyn_gw/Makefile
lib/dyn_gw/src/olsrd_dyn_gw.c
lib/httpinfo/Makefile
lib/nameservice/Makefile
lib/powerinfo/Makefile
lib/powerinfo/src/olsrd_power.c
lib/secure/Makefile
lib/secure/src/olsrd_secure.c
lib/tas/Makefile
make/Makefile.fbsd [new file with mode: 0644]
make/Makefile.linux [new file with mode: 0644]
make/Makefile.nbsd [new file with mode: 0644]
make/Makefile.obsd [new file with mode: 0644]
make/Makefile.osx [new file with mode: 0644]
make/Makefile.win32 [new file with mode: 0644]
make/Makefile.wince [new file with mode: 0644]
make/guess_os.sh [new file with mode: 0755]
src/cfgparser/Makefile

index 612b412..7482b36 100644 (file)
--- a/Makefile
+++ b/Makefile
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.58 2005/05/15 17:51:30 kattemat Exp $
+# $Id: Makefile,v 1.59 2005/05/25 13:50:22 br1 Exp $
 
-VERS =         0.4.9
+TOPDIR = .
+include Makefile.inc
 
-CC ?=          gcc
-STRIP ?=       strip
-BISON ?=       bison
-FLEX ?=                flex
-
-CCWARNINGS = -Wall -Wmissing-prototypes -Wstrict-prototypes \
-             -Wmissing-declarations -Wsign-compare
-
-INCLUDES =     -Isrc
-
-DEPFILE =      .depend
-
-SRCS =         $(wildcard src/*.c)
-HDRS =         $(wildcard src/*.h)
+VERS =         0.4.10pre
 
 CFGDIR =       src/cfgparser
 CFGOBJS =      $(CFGDIR)/oscan.o $(CFGDIR)/oparse.o $(CFGDIR)/olsrd_conf.o
 CFGDEPS =      $(wildcard $(CFGDIR)/*.c) $(wildcard $(CFGDIR)/*.h) $(CFGDIR)/oparse.y $(CFGDIR)/oscan.lex
 
-TAGCMD ?=      etags   
-TAGFILE ?=     src/TAGS
-
-ifeq ($(OS), Windows_NT)
-OS =           win32
-endif
-
-ifeq ($(OS), linux)
-
-#
-# LINUX SPECIFIC CONFIGURATION
-#
-
-INSTALL_PREFIX ?=
-
-SRCS +=        $(wildcard src/linux/*.c) $(wildcard src/unix/*.c)
-HDRS +=                $(wildcard src/linux/*.h) $(wildcard src/unix/*.h)
-DEFINES =      -Dlinux
-CFLAGS ?=      $(CCWARNINGS) -O2 -g #-DDEBUG #-pg #-march=i686
-LIBS =         -lm -ldl #-pg
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(DEFINES) -Y $(INCLUDES) $(SRCS) >/dev/null 2>&1
-LIBDIR =       $(INSTALL_PREFIX)/usr/lib
-
-all:    cfgparser olsrd
-install: install_olsrd
-
-else
-ifeq ($(OS), fbsd)
-
-#
-# FREEBSD SPECIFIC CONFIGURATION
-#
-
-LOCALBASE?=    /usr/local
-INSTALL_PREFIX?= $(LOCALBASE)
-CFGFILE?=      $(INSTALL_PREFIX)/etc/olsrd.conf
-
-SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
-HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
-CFLAGS +=      -DOLSRD_GLOBAL_CONF_FILE=\"$(CFGFILE)\"
-LIBS =         -lm
-MAKEDEPEND =   makedepend -f $(DEPFILE) -D__FreeBSD__ $(INCLUDES) $(SRCS)
-LIBDIR =       $(INSTALL_PREFIX)/lib
-
-all:    cfgparser olsrd
-install: install_olsrd
-
-else
-ifeq ($(OS), fbsd-ll)
-
-#
-# FREEBSD/LIBNET SPECIFIC CONFIGURATION
-#
-
-LOCALBASE?=    /usr/local
-INSTALL_PREFIX?= $(LOCALBASE)
-CFGFILE?=      $(INSTALL_PREFIX)/etc/olsrd.conf
-
-SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
-HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
-CFLAGS +=      -DOLSRD_GLOBAL_CONF_FILE=\"${CFGFILE}\"  -DSPOOF -I${LOCALBASE}/include
-LIBS =         -lm -L${LOCALBASE}/lib -lnet
-MAKEDEPEND =   makedepend -f $(DEPFILE) -D__FreeBSD__ $(INCLUDES) $(SRCS)
-LIBDIR =       $(INSTALL_PREFIX)/lib
-
-all:     cfgparser olsrd
-install: install_olsrd
-
-else
-ifeq ($(OS), nbsd)
-
-#
-# NETBSD SPECIFIC CONFIGURATION
-#
-
-INSTALL_PREFIX ?=
-
-SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
-HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
-CFLAGS ?=      $(CCWARNINGS) -O2 -g
-LIBS =         -lm
-MAKEDEPEND =   makedepend -f $(DEPFILE) -D__NetBSD__ $(INCLUDES) $(SRCS)
-
-all:    cfgparser olsrd
-install: install_olsrd
-
-else
-ifeq ($(OS), obsd)
-
-#
-# OPENBSD SPECIFIC CONFIGURATION
-#
-
-INSTALL_PREFIX ?=
-
-SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
-HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
-CFLAGS ?=      $(CCWARNINGS) -O2 -g
-LIBS =         -lm
-MAKEDEPEND =   makedepend -f $(DEPFILE) -D__OpenBSD__ $(INCLUDES) $(SRCS)
-
-all:    cfgparser olsrd
-install: install_olsrd
-
-else
-ifeq ($(OS), osx)
-
-#
-# MACOSX SPECIFIC CONFIGURATION
-#
-
-INSTALL_PREFIX ?=
-
-SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
-HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
-DEFINES =      -D__MacOSX__
-CFLAGS ?=      $(CCWARNINGS) -O2 -g 
-LIBS =         -lm -ldl
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(DEFINES) $(INCLUDES) $(SRCS)
-
-all:    cfgparser olsrd
-install: install_olsrd
-
-else
-ifeq ($(OS), win32)
-
-#
-# WINDOWS32 SPECIFIC CONFIGURATION
-#
-
-INSTALL_PREFIX ?=
-
-SRCS +=                $(wildcard src/win32/*.c)
-HDRS +=                $(wildcard src/win32/*.h)
-INCLUDES +=    -Isrc/win32
-DEFINES =      -DWIN32
-CFLAGS ?=      $(CCWARNINGS) -mno-cygwin -O2 -g
-LIBS =         -mno-cygwin -lws2_32 -liphlpapi
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(DEFINES) $(INCLUDES) $(SRCS)
-LIBDIR =       $(INSTALL_PREFIX)/usr/lib
-
-all:    cfgparser olsrd
-install: install_olsrd
-
-olsr-${VERS}.zip:      gui/win32/Main/Release/Switch.exe \
-               gui/win32/Shim/Release/Shim.exe \
-               olsrd.exe \
-               src/cfgparser/olsrd_cfgparser.dll \
-               README \
-               README-Link-Quality.html \
-               gui/win32/Inst/linux-manual.txt \
-               files/olsrd.conf.win32.rfc \
-               files/olsrd.conf.win32.lq \
-               gui/win32/Main/RFC-Default.olsr \
-               gui/win32/Main/LQ-Default.olsr \
-               lib/dot_draw/olsrd_dot_draw.dll \
-               lib/nameservice/olsrd_nameservice.dll \
-               lib/httpinfo/olsrd_httpinfo.dll
-               $(STRIP) olsrd.exe
-               $(STRIP) src/cfgparser/olsrd_cfgparser.dll
-               $(STRIP) lib/dot_draw/olsrd_dot_draw.dll
-               $(STRIP) lib/nameservice/olsrd_nameservice.dll
-               $(STRIP) lib/httpinfo/olsrd_httpinfo.dll
-               rm -rf ${TEMP}/olsr-${VERS}
-               rm -f ${TEMP}/olsr-${VERS}.zip
-               rm -f olsr-${VERS}.zip
-               mkdir ${TEMP}/olsr-${VERS}
-               cp gui/win32/Main/Release/Switch.exe ${TEMP}/olsr-${VERS}
-               cp gui/win32/Shim/Release/Shim.exe ${TEMP}/olsr-${VERS}
-               cp olsrd.exe ${TEMP}/olsr-${VERS}
-               cp src/cfgparser/olsrd_cfgparser.dll ${TEMP}/olsr-${VERS}
-               cp README ${TEMP}/olsr-${VERS}
-               cp README-Link-Quality.html ${TEMP}/olsr-${VERS}
-               cp gui/win32/Inst/linux-manual.txt ${TEMP}/olsr-${VERS}
-               cp files/olsrd.conf.win32.rfc ${TEMP}/olsr-${VERS}/olsrd.conf.rfc
-               cp files/olsrd.conf.win32.lq ${TEMP}/olsr-${VERS}/olsrd.conf.lq
-               cp gui/win32/Main/RFC-Default.olsr ${TEMP}/olsr-${VERS}
-               cp gui/win32/Main/LQ-Default.olsr ${TEMP}/olsr-${VERS}/Default.olsr
-               cp lib/dot_draw/olsrd_dot_draw.dll ${TEMP}/olsr-${VERS}
-               cp lib/nameservice/olsrd_nameservice.dll ${TEMP}/olsr-${VERS}
-               cp lib/httpinfo/olsrd_httpinfo.dll ${TEMP}/olsr-${VERS}
-               cd ${TEMP}; echo y | cacls olsr-${VERS} /T /G Everyone:F
-               cd ${TEMP}; zip -q -r olsr-${VERS}.zip olsr-${VERS}
-               cp ${TEMP}/olsr-${VERS}.zip .
-               rm -rf ${TEMP}/olsr-${VERS}
-               rm -f ${TEMP}/olsr-${VERS}.zip
-
-olsr-${VERS}-setup.exe:        gui/win32/Main/Release/Switch.exe \
-               gui/win32/Shim/Release/Shim.exe \
-               olsrd.exe \
-               src/cfgparser/olsrd_cfgparser.dll \
-               README \
-               README-Link-Quality.html \
-               gui/win32/Inst/linux-manual.txt \
-               files/olsrd.conf.win32.rfc \
-               files/olsrd.conf.win32.lq \
-               gui/win32/Main/RFC-Default.olsr \
-               gui/win32/Main/LQ-Default.olsr \
-               lib/dot_draw/olsrd_dot_draw.dll \
-               lib/nameservice/olsrd_nameservice.dll \
-               lib/httpinfo/olsrd_httpinfo.dll \
-               gui/win32/Inst/installer.nsi
-               $(STRIP) olsrd.exe
-               $(STRIP) src/cfgparser/olsrd_cfgparser.dll
-               $(STRIP) lib/dot_draw/olsrd_dot_draw.dll
-               $(STRIP) lib/nameservice/olsrd_nameservice.dll
-               $(STRIP) lib/httpinfo/olsrd_httpinfo.dll
-               rm -f olsr-setup.exe
-               rm -f olsr-${VERS}-setup.exe
-               C:/Program\ Files/NSIS/makensis gui\win32\Inst\installer.nsi
-               mv olsr-setup.exe olsr-${VERS}-setup.exe
-
-else
-ifeq ($(OS), wince)
-
-#
-# WINDOWS CE SPECIFIC CONFIGURATION
-#
-
-INSTALL_PREFIX ?=
-
-SRCS +=                $(wildcard src/win32/*.c)
-HDRS +=                $(wildcard src/win32/*.h)
-INCLUDES +=    -Isrc/win32 -Isrc/win32/ce
-DEFINES =      -DWIN32 -DWINCE
-CFLAGS ?=      $(CCWARNINGS) -O2 -g
-LIBS =         -lwinsock -liphlpapi
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(DEFINES) $(INCLUDES) $(SRCS)
-
-else
-
-all:   help
-install:help
-
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-
-#
-# END OF OS SPECIFIC STUFF
-#
-
-ifneq ($(NODEBUG), )
-CFLAGS += -DNODEBUG
-endif
-
-OBJS = $(patsubst %.c,%.o,$(SRCS))
-override CFLAGS += $(INCLUDES) $(DEFINES)
-export CFLAGS
-
+default_target: cfgparser olsrd
 
 olsrd:         $(OBJS) $(CFGOBJS)
                $(CC) -o $@ $(OBJS) $(CFGOBJS) $(LIBS) 
 
-$(DEPFILE):    $(SRCS) $(HDRS)
-ifdef MAKEDEPEND
-               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
-               $(MAKEDEPEND)
-endif
-
 cfgparser:     $(CFGDEPS)
                $(MAKE) -C $(CFGDIR)
 
 $(CFGOBJS):
                $(MAKE) -C $(CFGDIR)
 
-.PHONY: help libs clean_libs clean uberclean install_libs install_bin install
-
-help:
-       @echo
-       @echo '***** olsr.org olsr daemon Make ****'
-       @echo ' You must provide a valid target OS '
-       @echo ' by setting the OS variable! Valid  '
-       @echo ' target OSes are:                   '
-       @echo ' ---------------------------------  '
-       @echo ' linux - GNU/Linux                  '
-       @echo ' win32 - MS Windows                 '
-       @echo ' fbsd  - FreeBSD                    '
-       @echo ' nbsd  - NetBSD                     '
-       @echo ' obsd  - OpenBSD                    '
-       @echo ' osx   - Mac OS X                   '
-       @echo ' ---------------------------------  '
-       @echo ' Example - build for windows:       '
-       @echo ' make OS=win32                      '
-       @echo ' If you are developing olsrd code,  '
-       @echo ' exporting the OS variable might    '
-       @echo ' be a good idea :-) Have fun!       '
-       @echo '************************************'
-       @echo
+.PHONY: help libs clean_libs libs_clean clean uberclean install_libs libs_install install_bin install_olsrd install
 
 clean:
-               rm -f $(OBJS) olsrd olsrd.exe
+               -rm -f $(OBJS) $(SRCS:%.c=%.d) olsrd olsrd.exe $(TAGFILE)
                $(MAKE) -C src/cfgparser clean
 
 uberclean:     clean clean_libs
-               rm -f $(DEPFILE) $(DEPFILE).bak *~
-               rm -f src/*[o~] src/linux/*[o~] src/unix/*[o~] src/win32/*[o~]
-               rm -f src/bsd/*[o~] 
+               -rm -f src/*[od~] src/linux/*[od~] src/unix/*[od~] src/win32/*[od~]
+               -rm -f src/bsd/*[od~] 
                $(MAKE) -C src/cfgparser uberclean
 
+install: install_olsrd
+
 install_bin:
-               $(STRIP) olsrd
-               mkdir -p $(INSTALL_PREFIX)/usr/sbin
-               install -m 755 olsrd $(INSTALL_PREFIX)/usr/sbin
+               $(STRIP) $(EXENAME)
+               mkdir -p $(SBINDIR)
+               install -m 755 $(EXENAME) $(SBINDIR)
 
 install_olsrd: install_bin
                @echo ========= C O N F I G U R A T I O N - F I L E ============
@@ -375,16 +82,19 @@ install_olsrd:     install_bin
                @echo configfile can be installed. Note that a LQ-based configfile
                @echo can be found at files/olsrd.conf.default.lq
                @echo ==========================================================
-               mkdir -p $(INSTALL_PREFIX)/etc
-               cp -i files/olsrd.conf.default.rfc $(INSTALL_PREFIX)/etc/olsrd.conf
+               mkdir -p $(ETCDIR)
+               -cp -i files/olsrd.conf.default.rfc $(CFGFILE)
                @echo -------------------------------------------
-               @echo Edit $(INSTALL_PREFIX)/etc/olsrd.conf before running olsrd!!
+               @echo Edit $(CFGFILE) before running olsrd!!
                @echo -------------------------------------------
                @echo Installing manpages olsrd\(8\) and olsrd.conf\(5\)
-               mkdir -p $(INSTALL_PREFIX)/usr/share/man/man8/
-               cp files/olsrd.8.gz $(INSTALL_PREFIX)/usr/share/man/man8/olsrd.8.gz
-               mkdir -p $(INSTALL_PREFIX)/usr/share/man/man5/
-               cp files/olsrd.conf.5.gz $(INSTALL_PREFIX)/usr/share/man/man5/olsrd.conf.5.gz
+               mkdir -p $(MANDIR)/man8/
+               cp files/olsrd.8.gz $(MANDIR)/man8/olsrd.8.gz
+               mkdir -p $(MANDIR)/man5/
+               cp files/olsrd.conf.5.gz $(MANDIR)/man5/olsrd.conf.5.gz
+
+tags:
+               $(TAGCMD) -o $(TAGFILE) $(SRCS) $(HDRS) $(wildcard src/cfgparser/*.c) $(wildcard src/cfgparser/*.h)
 
 #
 # PLUGINS
@@ -393,10 +103,10 @@ install_olsrd:    install_bin
 libs: 
                $(MAKE) -C lib LIBDIR=$(LIBDIR)
 
-clean_libs: 
+libs_clean clean_libs:
                $(MAKE) -C lib LIBDIR=$(LIBDIR) clean
 
-install_libs:
+libs_install install_libs:
                $(MAKE) -C lib LIBDIR=$(LIBDIR) install
 
 httpinfo:
@@ -430,9 +140,3 @@ secure:
                $(MAKE) -C lib/secure clean
                $(MAKE) -C lib/secure
                $(MAKE) -C lib/secure install
-
-
-tags:
-               $(TAGCMD) -o $(TAGFILE) $(SRCS) $(HDRS) $(wildcard src/cfgparser/*.c) $(wildcard src/cfgparser/*.h)
-
-sinclude       $(DEPFILE)
diff --git a/Makefile.inc b/Makefile.inc
new file mode 100644 (file)
index 0000000..5ff6621
--- /dev/null
@@ -0,0 +1,96 @@
+# programs
+CC ?=          gcc
+STRIP ?=       strip
+BISON ?=       bison
+FLEX ?=                flex
+TAGCMD ?=      etags
+
+# target directories and names
+#INSTALL_PREFIX = 
+SBINDIR = $(INSTALL_PREFIX)/usr/sbin
+ETCDIR = $(INSTALL_PREFIX)/etc
+LIBDIR = $(INSTALL_PREFIX)/usr/lib
+DOCDIR = $(INSTALL_PREFIX)/usr/share/doc
+MANDIR = $(INSTALL_PREFIX)/usr/share/man
+CFGFILE = $(ETCDIR)/olsrd.conf
+EXENAME = olsrd
+
+INCLUDES =     -Isrc -I$(TOPDIR)/src 
+
+# add gcc warnings and optimizations if CFLAGS not set
+ifndef CFLAGS
+CFLAGS +=      -Wall -Wmissing-prototypes -Wstrict-prototypes \
+               -Wmissing-declarations -Wsign-compare
+CFLAGS +=      -O2 -g
+endif
+
+# c and ld flags for libraries (plugins)
+ifdef OLSRD_PLUGIN
+CFLAGS +=      -DOLSR_PLUGIN -fPIC
+LDFLAGS +=     -shared  -fPIC -Wl,-soname,$(PLUGIN_NAME)
+LDFLAGS +=     -Wl,--version-script=version-script.txt 
+endif
+
+# search sources and headers in current dir and in src/
+SRCS =         $(wildcard src/*.c)
+SRCS +=                $(wildcard *.c)
+HDRS =         $(wildcard src/*.h)
+HDRS +=                $(wildcard *.h)
+
+all: default_target
+
+# OS detection
+OS =           $(shell sh $(TOPDIR)/make/guess_os.sh)
+ifeq ($(OS),UNKNOWN)
+all: help
+else
+# include OS specifics
+include $(TOPDIR)/make/Makefile.$(OS)
+all: default_target
+endif
+
+# one object for each source file
+OBJS +=                $(patsubst %.c,%.o,$(SRCS))
+
+# debugging or non-debugging flags
+ifdef DEBUG
+CFLAGS +=      -DDEBUG
+endif
+ifdef NODEBUG
+CFLAGS +=      -DNODEBUG
+endif
+
+# let gcc generate dependency information (*.d)
+CFLAGS +=      -MD
+
+# we always need the includes and defines
+CFLAGS += $(INCLUDES) $(DEFINES)
+
+TAGFILE ?=     src/TAGS
+
+help:
+       @echo 
+       @echo '***** olsr.org olsr daemon Make ****'
+       @echo ' Automatic detection of your OS     '
+       @echo ' failed!                            '
+       @echo ' You can provide a valid target OS  '
+       @echo ' by setting the OS variable! Valid  '
+       @echo ' target OSes are:                   '
+       @echo ' ---------------------------------  '
+       @echo ' linux - GNU/Linux                  '
+       @echo ' win32 - MS Windows                 '
+       @echo ' fbsd  - FreeBSD                    '
+       @echo ' nbsd  - NetBSD                     '
+       @echo ' obsd  - OpenBSD                    '
+       @echo ' osx   - Mac OS X                   '
+       @echo ' ---------------------------------  '
+       @echo ' Example - build for windows:       '
+       @echo ' make OS=win32                      '
+       @echo ' If you are developing olsrd code,  '
+       @echo ' exporting the OS variable might    '
+       @echo ' be a good idea :-) Have fun!       '
+       @echo '************************************'
+       @echo
+       
+# include dependencies
+-include $(SRCS:%.c=%.d)
index a1cfb6e..5f975de 100644 (file)
@@ -1,69 +1,10 @@
-
-REALOS = $(OS)
-
-ifeq ($(OS), linux)
-
-all:           subdirs
-install:        subdirs
-clean:          subdirs
-SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure tas
-
-else
-ifeq ($(OS), win32)
-
-all:           subdirs
-install:        subdirs
-clean:          subdirs
 SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure tas
 
-else
-ifeq ($(OS), fbsd)
-
-all:           subdirs
-install:        subdirs
-clean:          subdirs
-SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure
-
-else
-ifeq ($(OS), fbsd-ll)
+.PHONY: $(SUBDIRS)
 
-REALOS = fbsd
-all:           subdirs
-install:       subdirs
-clean:          subdirs
-SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure
-
-else
-
-all:           help
-install::      help
-clean:          help
-
-endif
-endif
-endif
-endif
-
-.PHONY:        subdirs $(SUBDIRS)
-
-subdirs:       $(SUBDIRS)
+all: $(SUBDIRS)
+clean: $(SUBDIRS)
+install: $(SUBDIRS)
 
 $(SUBDIRS):
-       $(MAKE) -C $@ OS=$(REALOS) $(MAKECMDGOALS)
-
-help:
-       @echo
-       @echo '******** olsr.org plugin Make *******'
-       @echo ' You must provide a valid target OS '
-       @echo ' by setting the OS variable! Valid  '
-       @echo ' target OSes are:                   '
-       @echo ' ---------------------------------  '
-       @echo ' linux - GNU/Linux                  '
-       @echo ' win32 - MS Windows                 '
-       @echo ' fbsd  - FreeBSD                    '
-       @echo ' ---------------------------------  '
-       @echo ' Example - build for windows:       '
-       @echo ' make OS=win32                      '
-       @echo '************************************'
-       @echo
-
+       $(MAKE) -C $@ $(MAKECMDGOALS)
index 26cc975..0fa9131 100644 (file)
-# olsr.org dot-draw plugin by Andreas Tønnesen
-#                             and Bruno Randolf
+# The olsr.org Optimized Link-State Routing daemon(olsrd)
+# Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+# All rights reserved.
 #
-# $Id: Makefile,v 1.14 2005/03/31 17:09:53 kattemat Exp $
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+#
+# * Redistributions of source code must retain the above copyright 
+#   notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright 
+#   notice, this list of conditions and the following disclaimer in 
+#   the documentation and/or other materials provided with the 
+#   distribution.
+# * Neither the name of olsr.org, olsrd nor the names of its 
+#   contributors may be used to endorse or promote products derived 
+#   from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# Visit http://www.olsr.org for more information.
+#
+# If you find this software useful feel free to make a donation
+# to the project. For more information see the website or contact
+# the copyright holders.
+#
+# $Id: Makefile,v 1.15 2005/05/25 13:50:22 br1 Exp $
 
+OLSRD_PLUGIN = true
 PLUGIN_NAME =  olsrd_dot_draw
 PLUGIN_VER =   0.3
 
-CC ?=          gcc
-STRIP ?=       strip
-
-# default CFLAGS and LDFLAGS, used if not externally set
-
-# used for compilation: yes
-# used for dependency file generation: no
-
-CFLAGS_SET =   -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS_SET =  -g
-
-# always appended to default or externally set CFLAGS and LDFLAGS
-
-# used for compilation: yes
-# used for dependency file generation: yes
-
-CFLAGS_ADD =   -DOLSR_PLUGIN -I../../src
-LDFLAGS_ADD =  -Wall -shared -Wl,--version-script=version-script.txt
-
-# same as CFLAGS_ADD, but not used for dependency file generation
-
-# used for compilation: yes
-# used for dependency file generation: no
-
-CFLAGS_ADD2 =  # nothing
-
-DEPFILE =      .depend
-
-SRCS =         $(wildcard src/*.c)
-OBJS =         $(patsubst %.c,%.o,$(SRCS))
-HDRS =         $(wildcard src/*.c)
-
-ifndef OS
-all:           help
-install:       help
-clean:         help
-endif
-
-ifeq ($(OS), linux)
-
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
-
-CFLAGS_ADD +=  -Dlinux
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -D -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig -n $(LIBDIR)
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) -Y $(INCLUDES) \
-               $(SRCS) >/dev/null 2>&1
-
-all:           all2
-install:       install2
-clean:         clean2
+TOPDIR =       ../..
+include $(TOPDIR)/Makefile.inc
 
-else
-ifeq ($(OS), fbsd)
+default_target: $(PLUGIN_FULLNAME)
 
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
+$(PLUGIN_FULLNAME): $(OBJS)
+               $(CC) $(LDFLAGS) -o $(PLUGIN_FULLNAME) $(OBJS) $(LIBS)
 
-CFLAGS_ADD +=  # nothing
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-ifeq ($(OS), win32)
-
-NAME ?=                $(PLUGIN_NAME).dll
-
-CFLAGS_ADD +=  -mno-cygwin -I../../src/win32 -DWIN32
-CFLAGS_ADD2 += # nothing
-LDFLAGS_ADD += -mno-cygwin -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lws2_32
-
-INSTALL_LIB =  cp $(NAME) ../..
-
-EXTRA_OBJS =   ../../src/win32/compat.o
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-
-all:           help
-install:       help
-clean:         help
-
-endif
-endif
-endif
-
-CFLAGS ?=      $(CFLAGS_SET)
-LDFLAGS ?=     $(LDFLAGS_SET)
-
-CFLAGS         += $(CFLAGS_ADD) $(CFLAGS_ADD2)
-LDFLAGS                += $(LDFLAGS_ADD)
-
-all2:          $(NAME)
-
-$(NAME):       $(OBJS) $(EXTRA_OBJS)
-               $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(EXTRA_OBJS) $(LIBS)
-
-install2:      $(NAME)
-               $(STRIP) $(NAME)
+install:       $(PLUGIN_FULLNAME)
+               $(STRIP) $(PLUGIN_FULLNAME)
                $(INSTALL_LIB)
 
-clean2:
-               rm -f $(OBJS) $(NAME) $(DEPFILE)
-
-$(DEPFILE):    $(SRCS) $(HDRS)
-ifdef MAKEDEPEND
-               echo "# Generated automatically. DO NOT EDIT." >$(DEPFILE)
-               $(MAKEDEPEND)
-endif
-
-help:
-               @echo
-               @echo '                     * * * *  olsr.org Plugin Make  * * * *'
-               @echo
-               @echo '  Plugin: $(PLUGIN_NAME), version $(PLUGIN_VER)'
-               @echo
-               @echo '  You must provide a valid target OS by setting the OS variable.'
-               @echo
-               @echo '  Valid settings are:'
-               @echo
-               @echo '    linux - GNU/Linux'
-               @echo '    win32 - Microsoft Windows'
-               @echo '    fbsd  - FreeBSD'
-               @echo
-               @echo '  Example - Build on Windows:'
-               @echo
-               @echo '    make OS=win32'
-               @echo
-               @echo '  Example - Build and install on Linux:'
-               @echo
-               @echo '    make OS=linux install            '
-               @echo
-
-sinclude $(DEPFILE)
+clean:
+               rm -f $(OBJS) $(SRCS:%.c=%.d) $(PLUGIN_FULLNAME)
index fa0e3a7..49f4ec7 100644 (file)
@@ -1,85 +1,59 @@
+# The olsr.org Optimized Link-State Routing daemon(olsrd)
+# Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+#
+# * Redistributions of source code must retain the above copyright 
+#   notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright 
+#   notice, this list of conditions and the following disclaimer in 
+#   the documentation and/or other materials provided with the 
+#   distribution.
+# * Neither the name of olsr.org, olsrd nor the names of its 
+#   contributors may be used to endorse or promote products derived 
+#   from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# Visit http://www.olsr.org for more information.
+#
+# If you find this software useful feel free to make a donation
+# to the project. For more information see the website or contact
+# the copyright holders.
+#
+# $Id: Makefile,v 1.18 2005/05/25 13:50:22 br1 Exp $
+
+OLSRD_PLUGIN = true
+PLUGIN_NAME =  olsrd_dyn_gw
+PLUGIN_VER =   0.4
+
+TOPDIR = ../..
+include $(TOPDIR)/Makefile.inc
+
+LIBS +=                $(OS_PTHREAD)
+
+default_target: $(PLUGIN_FULLNAME)
+
+$(PLUGIN_FULLNAME): $(OBJS)
+               $(CC) $(LDFLAGS) -o $(PLUGIN_FULLNAME) $(OBJS) $(LIBS)
+
+install:       $(PLUGIN_FULLNAME)
+               $(STRIP) $(PLUGIN_FULLNAME)
+               $(INSTALL_LIB)
 
-CC ?= gcc
-STRIP ?= strip
-LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
-PLUGINFLAGS = -fPIC -DOLSR_PLUGIN -I../../src
-
-ifeq ($(OS), linux)
-NAME ?= olsrd_dyn_gw.so.0.3
-MYFLAGS ?= -fPIC -g # Uncomment -g for debugging
-LIBS ?= -lpthread -lc -lm
-CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2
-INSTALL_LIB = install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
-             /sbin/ldconfig -n $(LIBDIR)
-all:   plugin
-install:install_olsrd
-else
-ifeq ($(OS), fbsd)
-NAME ?= olsrd_dyn_gw.so.0.3
-MYFLAGS ?= -fPIC -g # Uncomment -g for debugging
-LIBS ?= -lpthread -lc -lm
-CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2 
-INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
-             /sbin/ldconfig
-all:   plugin
-install:install_olsrd
-else
-ifeq ($(OS), win32)
-NAME ?= olsrd_dyn_gw.dll
-NAMEFLAGS ?= -o $(NAME)
-CFLAGS ?= -g -O2 -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes 
-LDFLAGS ?= -mno-cygwin -shared
-LIBS ?= -lws2_32
-COMPATOBJ = ../../src/win32/compat.o
-INSTALL_LIB =  cp $(NAME) ../..
-all:   plugin
-install:install_olsrd
-else
-all:   help
-install:help
-endif
-endif
-endif
-
-CFLAGS += $(PLUGINFLAGS)
-
-#Sourcefiles
-SRCS=  src/olsrd_plugin.c src/olsrd_dyn_gw.c
-
-#Objectfiles
-OBJS=  src/olsrd_plugin.o src/olsrd_dyn_gw.o
-
-#Headerfiles
-HDRS=  src/olsrd_plugin.h src/olsrd_dyn_gw.h
-
-plugin: $(OBJS)
-       $(CC) $(LDFLAGS) $(MYFLAGS) -shared -Wl,-soname,$(NAME) \
-       -Wl,--version-script=version-script.txt \
-       -o $(NAME) $(OBJS) $(LIBS)
-
-
-install_olsrd:
-       $(STRIP) $(NAME)
-       $(INSTALL_LIB)
 clean:
-       rm -f $(OBJS) $(NAME)
-
-help:
-       @echo
-       @echo '**** olsr.org dynGW plugin Make ****'
-       @echo ' You must provide a valid target OS '
-       @echo ' by setting the OS variable! Valid  '
-       @echo ' target OSes are:                   '
-       @echo ' ---------------------------------  '
-       @echo ' linux - GNU/Linux                  '
-       @echo ' fbsd  - FreeBSD                    '
-       @echo ' win32 - Windows                    '
-       @echo ' ---------------------------------  '
-       @echo ' Example - build for FreeBSD:       '
-       @echo ' gmake OS=fbsd                      '
-       @echo '************************************'
-       @echo
-
-src/olsrd_plugin.o: $(HDRS)
-
-src/olsrd_dyn_gw.o: $(HDRS)
+               rm -f $(OBJS) $(SRCS:%.c=%.d) $(PLUGIN_FULLNAME)
index efe77a7..fc50947 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_dyn_gw.c,v 1.14 2005/01/30 15:12:59 kattemat Exp $
+ * $Id: olsrd_dyn_gw.c,v 1.15 2005/05/25 13:50:22 br1 Exp $
  */
 
 /*
@@ -535,20 +535,4 @@ int pthread_mutex_unlock(HANDLE *Hand)
   return 0;
 }
 
-int inet_aton(char *AddrStr, struct in_addr *Addr)
-{
-  Addr->s_addr = inet_addr(AddrStr);
-
-  return 1;
-}
-
-int nanosleep(struct timespec *Req, struct timespec *Rem)
-{
-  Sleep(Req->tv_sec * 1000 + Req->tv_nsec / 1000000);
-
-  Rem->tv_sec = 0;
-  Rem->tv_nsec = 0;
-
-  return 0;
-}
 #endif
index ba122b1..ce62cdb 100644 (file)
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.20 2005/04/25 11:36:23 br1 Exp $
+# $Id: Makefile,v 1.21 2005/05/25 13:50:22 br1 Exp $
 
+OLSRD_PLUGIN = true
 PLUGIN_NAME =  olsrd_httpinfo
 PLUGIN_VER =   0.1
 
-CC ?=          gcc
-STRIP ?=       strip
+TOPDIR = ../..
+include $(TOPDIR)/Makefile.inc
 
-# default CFLAGS and LDFLAGS, used if not externally set
-
-# used for compilation: yes
-# used for dependency file generation: no
-
-CFLAGS_SET =   -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS_SET =  -g
-
-# always appended to default or externally set CFLAGS and LDFLAGS
-
-# used for compilation: yes
-# used for dependency file generation: yes
-
-CFLAGS_ADD =   -DOLSR_PLUGIN -I../../src
-LDFLAGS_ADD =  -Wall -shared -Wl,--version-script=version-script.txt
-
-# same as CFLAGS_ADD, but not used for dependency file generation
-
-# used for compilation: yes
-# used for dependency file generation: no
-
-CFLAGS_ADD2 =  # nothing
-
-DEPFILE =      .depend
-
-SRCS =         $(wildcard src/*.c)
-OBJS =         $(patsubst %.c,%.o,$(SRCS))
-HDRS =         $(wildcard src/*.c)
-
-ifndef OS
-all:           help
-install:       help
-clean:         help
-endif
-
-ifeq ($(OS), linux)
-
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
-
-CFLAGS_ADD +=  -Dlinux
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -D -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig -n $(LIBDIR)
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) -Y $(INCLUDES) \
-               $(SRCS) >/dev/null 2>&1
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-ifeq ($(OS), fbsd)
-
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
-
-CFLAGS_ADD +=  # nothing
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-ifeq ($(OS), win32)
-
-NAME ?=                $(PLUGIN_NAME).dll
-
-CFLAGS_ADD +=  -mno-cygwin -I../../src/win32 -DWIN32
-CFLAGS_ADD2 += # nothing
-LDFLAGS_ADD += -mno-cygwin -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lws2_32
-
-INSTALL_LIB =  cp $(NAME) ../..
-
-EXTRA_OBJS =   ../../src/win32/compat.o
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-
-all:           help
-install:       help
-clean:         help
-
-endif
-endif
+ifdef ADMIN_INTERFACE
+       CFLAGS += -DADMIN_INTERFACE
 endif
 
-EXTRA_OBJS += ../../src/cfgparser/cfgfile_gen.o
+OBJS += $(TOPDIR)/src/cfgparser/cfgfile_gen.o
 
-ifneq ($(ADMIN_INTERFACE), )
-       @echo 'WARNING - BUILDING WITH ADMIN INTERFACE!'
-CFLAGS_ADD += -DADMIN_INTERFACE
+default_target: $(PLUGIN_FULLNAME)
+ifdef ADMIN_INTERFACE
+               @echo 'WARNING - BUILT WITH EXPERIMENTAL ADMIN INTERFACE!'
 endif
-               
-CFLAGS ?=      $(CFLAGS_SET)
-LDFLAGS ?=     $(LDFLAGS_SET)
 
-CFLAGS         += $(CFLAGS_ADD) $(CFLAGS_ADD2)
-LDFLAGS                += $(LDFLAGS_ADD)
+$(PLUGIN_FULLNAME): $(OBJS)
+               $(CC) $(LDFLAGS) -o $(PLUGIN_FULLNAME) $(OBJS) $(LIBS)
 
-all2:          $(NAME)
-
-$(NAME):       $(OBJS) $(EXTRA_OBJS)
-               $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(EXTRA_OBJS) $(LIBS)
-
-install2:      $(NAME)
-               $(STRIP) $(NAME)
+install:       $(PLUGIN_FULLNAME)
+               $(STRIP) $(PLUGIN_FULLNAME)
                $(INSTALL_LIB)
 
-clean2:
-               rm -f $(OBJS) $(NAME) $(DEPFILE)
-
-$(DEPFILE):    $(SRCS) $(HDRS)
-ifdef MAKEDEPEND
-               echo "# Generated automatically. DO NOT EDIT." >$(DEPFILE)
-               $(MAKEDEPEND)
-endif
-
-help:
-               @echo
-               @echo '                     * * * *  olsr.org Plugin Make  * * * *'
-               @echo
-               @echo '  Plugin: $(PLUGIN_NAME), version $(PLUGIN_VER)'
-               @echo
-               @echo '  You must provide a valid target OS by setting the OS variable.'
-               @echo
-               @echo '  Valid settings are:'
-               @echo
-               @echo '    linux - GNU/Linux'
-               @echo '    win32 - Microsoft Windows'
-               @echo '    fbsd  - FreeBSD'
-               @echo
-               @echo '  Example - Build on Windows:'
-               @echo
-               @echo '    make OS=win32'
-               @echo
-               @echo '  Example - Build and install on Linux:'
-               @echo
-               @echo '    make OS=linux install            '
-               @echo
-
-sinclude $(DEPFILE)
+clean:
+               rm -f $(OBJS) $(SRCS:%.c=%.d) $(PLUGIN_FULLNAME)
index 57c87b6..2187fb3 100644 (file)
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.9 2005/03/01 21:41:34 tlopatic Exp $
+# $Id: Makefile,v 1.10 2005/05/25 13:50:22 br1 Exp $
 
+OLSRD_PLUGIN = true
 PLUGIN_NAME =  olsrd_nameservice
 PLUGIN_VER =   0.2
 
-CC ?=          gcc
-STRIP ?=       strip
+TOPDIR = ../..
+include $(TOPDIR)/Makefile.inc
 
-# default CFLAGS and LDFLAGS, used if not externally set
+default_target: $(PLUGIN_FULLNAME)
 
-# used for compilation: yes
-# used for dependency file generation: no
+$(PLUGIN_FULLNAME): $(OBJS)
+               $(CC) $(LDFLAGS) -o $(PLUGIN_FULLNAME) $(OBJS) $(LIBS)
 
-CFLAGS_SET =   -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS_SET =  -g
-
-# always appended to default or externally set CFLAGS and LDFLAGS
-
-# used for compilation: yes
-# used for dependency file generation: yes
-
-CFLAGS_ADD =   -DOLSR_PLUGIN -I../../src
-LDFLAGS_ADD =  -Wall -shared -Wl,--version-script=version-script.txt
-
-# same as CFLAGS_ADD, but not used for dependency file generation
-
-# used for compilation: yes
-# used for dependency file generation: no
-
-CFLAGS_ADD2 =  # nothing
-
-DEPFILE =      .depend
-
-SRCS =         $(wildcard src/*.c)
-OBJS =         $(patsubst %.c,%.o,$(SRCS))
-HDRS =         $(wildcard src/*.c)
-
-ifndef OS
-all:           help
-install:       help
-clean:         help
-endif
-
-ifeq ($(OS), linux)
-
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
-
-CFLAGS_ADD +=  -Dlinux
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -D -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig -n $(LIBDIR)
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) -Y $(INCLUDES) \
-               $(SRCS) >/dev/null 2>&1
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-ifeq ($(OS), fbsd)
-
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
-
-CFLAGS_ADD +=  # nothing
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-ifeq ($(OS), win32)
-
-NAME ?=                $(PLUGIN_NAME).dll
-
-CFLAGS_ADD +=  -mno-cygwin -I../../src/win32 -DWIN32
-CFLAGS_ADD2 += # nothing
-LDFLAGS_ADD += -mno-cygwin -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lws2_32
-
-INSTALL_LIB =  cp $(NAME) ../..
-
-EXTRA_OBJS =   ../../src/win32/compat.o
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-
-all:           help
-install:       help
-clean:         help
-
-endif
-endif
-endif
-
-CFLAGS ?=      $(CFLAGS_SET)
-LDFLAGS ?=     $(LDFLAGS_SET)
-
-CFLAGS         += $(CFLAGS_ADD) $(CFLAGS_ADD2)
-LDFLAGS                += $(LDFLAGS_ADD)
-
-all2:          $(NAME)
-
-$(NAME):       $(OBJS) $(EXTRA_OBJS)
-               $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(EXTRA_OBJS) $(LIBS)
-
-install2:      $(NAME)
-               $(STRIP) $(NAME)
+install:       $(PLUGIN_FULLNAME)
+               $(STRIP) $(PLUGIN_FULLNAME)
                $(INSTALL_LIB)
 
-clean2:
-               rm -f $(OBJS) $(NAME) $(DEPFILE)
-
-$(DEPFILE):    $(SRCS) $(HDRS)
-ifdef MAKEDEPEND
-               echo "# Generated automatically. DO NOT EDIT." >$(DEPFILE)
-               $(MAKEDEPEND)
-endif
-
-help:
-               @echo
-               @echo '                     * * * *  olsr.org Plugin Make  * * * *'
-               @echo
-               @echo '  Plugin: $(PLUGIN_NAME), version $(PLUGIN_VER)'
-               @echo
-               @echo '  You must provide a valid target OS by setting the OS variable.'
-               @echo
-               @echo '  Valid settings are:'
-               @echo
-               @echo '    linux - GNU/Linux'
-               @echo '    win32 - Microsoft Windows'
-               @echo '    fbsd  - FreeBSD'
-               @echo
-               @echo '  Example - Build on Windows:'
-               @echo
-               @echo '    make OS=win32'
-               @echo
-               @echo '  Example - Build and install on Linux:'
-               @echo
-               @echo '    make OS=linux install            '
-               @echo
-
-sinclude $(DEPFILE)
+clean:
+               rm -f $(OBJS) $(SRCS:%.c=%.d) $(PLUGIN_FULLNAME)
index 83a9e92..ace5836 100644 (file)
-
-#############################################
-# EXAMPLE MAKEFILE TO CREATE A OLSRD PLUGIN #
-#############################################
-
-#Alter this file to fit your needs
-
-CC ?= gcc
-STRIP ?= strip
-PLUGINFLAGS =  -fPIC -DOLSR_PLUGIN -I../../src
-
-ifeq ($(OS), linux)
-NAME ?= olsrd_power.so.0.3
-LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
-# -fPIC creates position independent code
-LIBS ?= -lc -lm
-CFLAGS ?= -Wall -g -O2 -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS ?= -fPIC
-INSTALL_LIB = install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
-       /sbin/ldconfig -n $(LIBDIR)
-all:   plugin
-install:install_olsrd
-else
-ifeq ($(OS), fbsd)
-NAME ?= olsrd_power.so.0.3
-LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
-# -fPIC creates position independent code
-LIBS ?= -lc -lm
-CFLAGS ?= -Wall -g -O2 -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS ?= -fPIC
-INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
-       /sbin/ldconfig
-all:   plugin
-install:install_olsrd
-else
-ifeq ($(OS), win32)
-NAME ?= olsrd_power.dll
-CFLAGS ?= -O2 -g -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes $(PLUGINFLAGS)
-LDFLAGS ?= -mno-cygwin -shared -fPIC
-LIBS ?= -lws2_32
-INSTALL_LIB =  cp $(NAME) ../..
-else
-all:   help
-install:help
-endif
-endif
-endif
-
-CFLAGS +=  $(PLUGINFLAGS)
-
-#Sourcefiles
-#add yours here
-SRCS=  src/olsrd_plugin.c src/olsrd_power.c
-
-#Objectfiles
-#add yours here
-OBJS=  src/olsrd_plugin.o src/olsrd_power.o
-
-#Headerfiles
-#add yours here
-HDRS=  src/olsrd_plugin.h src/olsrd_power.h src/olsr_plugin_io.h
-
-# -Wl passes options to the linker(-soname,....)
-# Use -lc to link it against C library
-# not 100% sure if this is neccesary
-
-plugin: $(OBJS)
-       $(CC) $(LDFLAGS) -shared -Wl,-soname,$(NAME) \
-       -Wl,--version-script=version-script.txt \
-       -o $(NAME) $(OBJS) $(LIBS)
-
-
-install_olsrd:
-       $(STRIP) $(NAME)
-       $(INSTALL_LIB)
+# The olsr.org Optimized Link-State Routing daemon(olsrd)
+# Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+#
+# * Redistributions of source code must retain the above copyright 
+#   notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright 
+#   notice, this list of conditions and the following disclaimer in 
+#   the documentation and/or other materials provided with the 
+#   distribution.
+# * Neither the name of olsr.org, olsrd nor the names of its 
+#   contributors may be used to endorse or promote products derived 
+#   from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# Visit http://www.olsr.org for more information.
+#
+# If you find this software useful feel free to make a donation
+# to the project. For more information see the website or contact
+# the copyright holders.
+#
+# $Id: Makefile,v 1.14 2005/05/25 13:50:22 br1 Exp $
+
+OLSRD_PLUGIN =         true
+PLUGIN_NAME =  olsrd_power
+PLUGIN_VER =   0.3
+
+TOPDIR = ../..
+include $(TOPDIR)/Makefile.inc
+
+default_target: $(PLUGIN_FULLNAME)
+
+$(PLUGIN_FULLNAME): $(OBJS)
+               $(CC) $(LDFLAGS) -o $(PLUGIN_FULLNAME) $(OBJS) $(LIBS)
+
+install:       $(PLUGIN_FULLNAME)
+               $(STRIP) $(PLUGIN_FULLNAME)
+               $(INSTALL_LIB)
 
 clean:
-       rm -f $(OBJS) $(NAME)
-
-
-help:
-       @echo
-       @echo '******* olsr.org powerplugin *******'
-       @echo ' You must provide a valid target OS '
-       @echo ' by setting the OS variable! Valid  '
-       @echo ' target OSes are:                   '
-       @echo ' ---------------------------------  '
-       @echo ' linux - GNU/Linux                  '
-       @echo ' win32 - MS Windows                 '
-       @echo ' fbsd  - FreeBSD                    '
-       @echo ' ---------------------------------  '
-       @echo ' Example - build for windows:       '
-       @echo ' make OS=win32                      '
-       @echo '************************************'
-       @echo
-
-src/olsrd_plugin.o: $(HDRS)
-
-src/olsrd_power.o: $(HDRS)
-
+               rm -f $(OBJS) $(SRCS:%.c=%.d) $(PLUGIN_FULLNAME)
index 6093734..fce96f8 100644 (file)
@@ -29,7 +29,7 @@
  *
  */
 
-/* $Id: olsrd_power.c,v 1.9 2005/05/25 13:41:47 kattemat Exp $ */
+/* $Id: olsrd_power.c,v 1.10 2005/05/25 13:50:22 br1 Exp $ */
 
 /*
  * Dynamic linked library example for UniK OLSRd
@@ -68,32 +68,6 @@ int ipc_connected;
 int
 ipc_send(char *, int);
 
-#ifdef WIN32
-
-static char *inet_ntop4(const unsigned char *src, char *dst, int size)
-{
-  static const char fmt[] = "%u.%u.%u.%u";
-  char tmp[sizeof "255.255.255.255"];
-
-  if (sprintf(tmp, fmt, src[0], src[1], src[2], src[3]) > size)
-    return (NULL);
-
-  return strcpy(dst, tmp);
-}
-
-char *inet_ntop(int af, void *src, char *dst, int size)
-{
-  switch (af)
-  {
-  case AF_INET:
-    return (inet_ntop4(src, dst, size));
-
-  default:
-    return (NULL);
-  }
-}
-
-#endif
 
 /**
  *Do initialization here
index ce65227..8aeebd1 100644 (file)
+# The olsr.org Optimized Link-State Routing daemon(olsrd)
+# Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+#
+# * Redistributions of source code must retain the above copyright 
+#   notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright 
+#   notice, this list of conditions and the following disclaimer in 
+#   the documentation and/or other materials provided with the 
+#   distribution.
+# * Neither the name of olsr.org, olsrd nor the names of its 
+#   contributors may be used to endorse or promote products derived 
+#   from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# Visit http://www.olsr.org for more information.
+#
+# If you find this software useful feel free to make a donation
+# to the project. For more information see the website or contact
+# the copyright holders.
+#
+# $Id: Makefile,v 1.16 2005/05/25 13:50:22 br1 Exp $
+
+OLSRD_PLUGIN = true
+PLUGIN_NAME =  olsrd_secure
+PLUGIN_VER =   0.5
+
+TOPDIR = ../..
+include $(TOPDIR)/Makefile.inc
 
-#############################################
-#          OLSR.ORG SECURE PLUGIN           #
-#############################################
-
-
-CC ?= gcc
-STRIP ?= strip
-PLUGINFLAGS = -fPIC -DOLSR_PLUGIN -I../../src
-
-ifdef USE_OPENSSL
-PLUGINFLAGS += -DUSE_OPENSSL
-endif
-
-ifdef DEBUG
-PLUGINFLAGS += -DDEBUG
-endif
-
-ifeq ($(OS), linux)
-NAME ?= olsrd_secure.so.0.5
-LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
-LIBS ?= -lc -lm
 ifdef USE_OPENSSL
+CFLAGS += -DUSE_OPENSSL
 LIBS += -lssl -lcrypto
 endif
-LDFLAGS += -fPIC
-CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2
-INSTALL_LIB = install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
-       /sbin/ldconfig -n $(LIBDIR)
 
-all:   plugin
-install:install_olsrd
-else
-ifeq ($(OS), fbsd)
-NAME ?= olsrd_secure.so.0.5
-LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
-LIBS ?= -lc -lm
-ifdef USE_OPENSSL
-LIBS += -lssl -lcrypto
-endif
-LDFLAGS += -fPIC
-CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2
-INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
-       /sbin/ldconfig
+default_target: $(PLUGIN_FULLNAME)
 
-all:   plugin
-install:install_olsrd
-else
-ifeq ($(OS), win32)
-NAME ?= olsrd_secure.dll
-CFLAGS ?= -O2 -g -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS ?= -fPIC -mno-cygwin -shared
-LIBS ?= -lws2_32
-ifdef USE_OPENSSL
-LIBS += -lssl -lcrypto
-endif
-INSTALL_LIB =  cp $(NAME) ../..
-all:    plugin
-install:install_olsrd
-else
-all:   help
-install:help
-endif
-endif
-endif
-
-CFLAGS +=  $(PLUGINFLAGS)
-
-#Sourcefiles
-SRCS=  src/olsrd_plugin.c src/olsrd_secure.c
-
-#Objectfiles
-OBJS=  src/olsrd_plugin.o src/olsrd_secure.o
+$(PLUGIN_FULLNAME): $(OBJS)
+               $(CC) $(LDFLAGS) -o $(PLUGIN_FULLNAME) $(OBJS) $(LIBS)
 
-#Headerfiles
-HDRS=  src/olsrd_plugin.h src/olsrd_secure.h
-
-ifndef USE_OPENSSL
-#Sourcefiles
-SRCS+= src/md5.c
-
-#Objectfiles
-OBJS+= src/md5.o
-
-#Headerfiles
-HDRS+= src/md5.h
-
-endif
-
-plugin: $(OBJS)
-       $(CC) $(LDFLAGS) -shared -Wl,-soname,$(NAME) \
-       -Wl,--version-script=version-script.txt \
-       -o $(NAME) $(OBJS) $(LIBS)
-
-
-install_olsrd:
-       $(STRIP) $(NAME)
-       $(INSTALL_LIB)
+install:       $(PLUGIN_FULLNAME)
+               $(STRIP) $(PLUGIN_FULLNAME)
+               $(INSTALL_LIB)
 
 clean:
-       rm -f $(OBJS) $(NAME)
-
-help:
-       @echo
-       @echo '**** olsr.org secure plugin Make ***'
-       @echo ' You must provide a valid target OS '
-       @echo ' by setting the OS variable! Valid  '
-       @echo ' target OSes are:                   '
-       @echo ' ---------------------------------  '
-       @echo ' linux - GNU/Linux                  '
-       @echo ' fbsd  - FreeBSD                    '
-       @echo ' win32 - Windows                    '
-       @echo ' ---------------------------------  '
-       @echo ' Example - build for FreeBSD:       '
-       @echo ' gmake OS=fbsd                      '
-       @echo '************************************'
-       @echo
-
-src/olsrd_plugin.o: $(HDRS)
-
-src/olsrd_secure.o: $(HDRS)
+               rm -f $(OBJS) $(SRCS:%.c=%.d) $(PLUGIN_FULLNAME)
index 4e28f94..eb41b79 100644 (file)
@@ -33,7 +33,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: olsrd_secure.c,v 1.12 2005/03/10 19:57:48 kattemat Exp $
+ * $Id: olsrd_secure.c,v 1.13 2005/05/25 13:50:22 br1 Exp $
  */
 
 
@@ -103,34 +103,6 @@ MD5_checksum(char *data, olsr_u16_t data_len, char *hashbuf)
 #endif
 
 
-#ifdef WIN32
-
-static char *inet_ntop4(const unsigned char *src, char *dst, int size)
-{
-  static const char fmt[] = "%u.%u.%u.%u";
-  char tmp[sizeof "255.255.255.255"];
-
-  if (sprintf(tmp, fmt, src[0], src[1], src[2], src[3]) > size)
-    return (NULL);
-
-  return strcpy(dst, tmp);
-}
-
-char *inet_ntop(int af, void *src, char *dst, int size)
-{
-  switch (af)
-  {
-  case AF_INET:
-    return (inet_ntop4(src, dst, size));
-
-  default:
-    return (NULL);
-  }
-}
-
-#endif
-
-
 /**
  *Do initialization here
  *
index 871833e..59a29e6 100644 (file)
@@ -1,7 +1,5 @@
-#
-# The olsr.org Optimized Link-State Routing daemon (olsrd)
-#
-# Copyright (c) 2004, Thomas Lopatic (thomas@olsr.org)
+# The olsr.org Optimized Link-State Routing daemon(olsrd)
+# Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without 
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.1 2005/04/12 17:17:25 tlopatic Exp $
-#
+# $Id: Makefile,v 1.2 2005/05/25 13:50:22 br1 Exp $
 
+OLSRD_PLUGIN = true
 PLUGIN_NAME =  olsrd_tas
 PLUGIN_VER =   0.1
 
-CC ?=          gcc
-STRIP ?=       strip
-
-# default CFLAGS and LDFLAGS, used if not externally set
-
-# used for compilation: yes
-# used for dependency file generation: no
-
-CFLAGS_SET =   -g -Os -Wall -Wmissing-prototypes -Wstrict-prototypes \
-               -Wmissing-declarations -Wsign-compare
-LDFLAGS_SET =  -g
-
-# always appended to default or externally set CFLAGS and LDFLAGS
-
-# used for compilation: yes
-# used for dependency file generation: yes
-
-CFLAGS_ADD =   -DOLSR_PLUGIN -I../../src
-LDFLAGS_ADD =  -Wall -shared -Wl,--version-script=version-script.txt
-
-# same as CFLAGS_ADD, but not used for dependency file generation
-
-# used for compilation: yes
-# used for dependency file generation: no
-
-CFLAGS_ADD2 =  # nothing
-
-DEPFILE =      .depend
+TOPDIR = ../..
+include $(TOPDIR)/Makefile.inc
 
 SRCS =         $(wildcard src/*.c src/lua/*.c)
-OBJS =         $(patsubst %.c,%.o, $(SRCS))
 HDRS =         $(wildcard src/*.h src/lua/*.h)
 
-ifndef OS
-all:           help
-install:       help
-clean:         help
-endif
-
-ifeq ($(OS), linux)
-
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
-
-CFLAGS_ADD +=  -Dlinux
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -D -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig -n $(LIBDIR)
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) -Y $(INCLUDES) \
-               $(SRCS) >/dev/null 2>&1
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-ifeq ($(OS), fbsd)
-
-NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
+ifeq ($(OS),fbsd)
 
-CFLAGS_ADD +=  # nothing
-CFLAGS_ADD2 += -fPIC
-LDFLAGS_ADD += -fPIC -Wl,-soname,$(NAME)
-
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lc -lm
-
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-
-INSTALL_LIB =  install -m 755 $(NAME) $(LIBDIR)/$(NAME); \
-               /sbin/ldconfig
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
+default_target install clean: 
+       @echo "*** TAS Plugin not supported on FreeBSD yet, sorry!"
 
 else
-ifeq ($(OS), win32)
 
-NAME ?=                $(PLUGIN_NAME).dll
+default_target: $(PLUGIN_FULLNAME)
 
-CFLAGS_ADD +=  -mno-cygwin -DWIN32
-CFLAGS_ADD2 += # nothing
-LDFLAGS_ADD += -mno-cygwin -Wl,-soname,$(NAME)
+$(PLUGIN_FULLNAME): $(OBJS)
+               $(CC) $(LDFLAGS) -o $(PLUGIN_FULLNAME) $(OBJS) $(LIBS)
 
-CFLAGS_SET +=  # nothing
-LDFLAGS_SET += # nothing
-
-LIBS ?=                -lws2_32
-
-INSTALL_LIB =  cp $(NAME) ../..
-
-EXTRA_OBJS =   # nothing
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
-
-all:           all2
-install:       install2
-clean:         clean2
-
-else
-
-all:           help
-install:       help
-clean:         help
-
-endif
-endif
-endif
-
-CFLAGS ?=      $(CFLAGS_SET)
-LDFLAGS ?=     $(LDFLAGS_SET)
-
-CFLAGS         += $(CFLAGS_ADD) $(CFLAGS_ADD2)
-LDFLAGS                += $(LDFLAGS_ADD)
-
-all2:          $(NAME) test
-
-$(NAME):       $(OBJS) $(EXTRA_OBJS)
-               $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(EXTRA_OBJS) $(LIBS)
-
-test:          test.o
-               $(CC) -o test test.o $(NAME)
-
-install2:      $(NAME)
-               $(STRIP) $(NAME)
+install:       $(PLUGIN_FULLNAME)
+               $(STRIP) $(PLUGIN_FULLNAME)
                $(INSTALL_LIB)
 
-clean2:
-               rm -f $(OBJS) $(NAME) $(DEPFILE) $(DEPFILE).bak
-               rm -f test.o test
-               find . -name \*~ -exec rm {} \;
+clean:
+               rm -f $(OBJS) $(SRCS:%.c=%.d) $(PLUGIN_FULLNAME)
 
-$(DEPFILE):    $(SRCS) $(HDRS)
-ifdef MAKEDEPEND
-               echo "# Generated automatically. DO NOT EDIT." >$(DEPFILE)
-               $(MAKEDEPEND)
 endif
-
-help:
-               @echo
-               @echo '                     * * * *  olsr.org Plugin Make  * * * *'
-               @echo
-               @echo '  Plugin: $(PLUGIN_NAME), version $(PLUGIN_VER)'
-               @echo
-               @echo '  You must provide a valid target OS by setting the OS variable.'
-               @echo
-               @echo '  Valid settings are:'
-               @echo
-               @echo '    linux - GNU/Linux'
-               @echo '    win32 - Microsoft Windows'
-               @echo '    fbsd  - FreeBSD'
-               @echo
-               @echo '  Example - Build on Windows:'
-               @echo
-               @echo '    make OS=win32'
-               @echo
-               @echo '  Example - Build and install on Linux:'
-               @echo
-               @echo '    make OS=linux install            '
-               @echo
-
-sinclude $(DEPFILE)
diff --git a/make/Makefile.fbsd b/make/Makefile.fbsd
new file mode 100644 (file)
index 0000000..7a9bc85
--- /dev/null
@@ -0,0 +1,30 @@
+#
+# FREEBSD SPECIFIC CONFIGURATION
+#
+
+INSTALL_PREFIX ?= /usr/local
+SBINDIR = $(INSTALL_PREFIX)/sbin
+ETCDIR = $(INSTALL_PREFIX)/etc
+LIBDIR = $(INSTALL_PREFIX)/lib
+DOCDIR = $(INSTALL_PREFIX)/share/doc
+MANDIR = $(INSTALL_PREFIX)/share/man
+
+SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
+HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
+
+LIBS =         -lm
+
+CFLAGS +=      -DOLSRD_GLOBAL_CONF_FILE=\"$(CFGFILE)\"
+
+ifdef LIBNET
+
+CFLAGS +=      -DSPOOF -I$(INSTALL_PREFIX)/include
+LIBS =+                -L$(INSTALL_PREFIX)/lib -lnet
+
+endif
+
+PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
+INSTALL_LIB =  install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
+               /sbin/ldconfig
+
+OS_PTHREAD = -pthread
\ No newline at end of file
diff --git a/make/Makefile.linux b/make/Makefile.linux
new file mode 100644 (file)
index 0000000..c7bdf04
--- /dev/null
@@ -0,0 +1,18 @@
+#
+# LINUX SPECIFIC CONFIGURATION
+#
+
+INSTALL_PREFIX ?=
+LIBDIR =       $(INSTALL_PREFIX)/usr/lib
+
+SRCS +=        $(wildcard src/linux/*.c) $(wildcard src/unix/*.c)
+HDRS +=                $(wildcard src/linux/*.h) $(wildcard src/unix/*.h)
+
+DEFINES =      -Dlinux
+LIBS =         -lm -ldl
+
+PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
+INSTALL_LIB =  install -D -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
+               /sbin/ldconfig -n $(LIBDIR)
+               
+OS_PTHREAD = -lpthread
\ No newline at end of file
diff --git a/make/Makefile.nbsd b/make/Makefile.nbsd
new file mode 100644 (file)
index 0000000..f06a912
--- /dev/null
@@ -0,0 +1,16 @@
+#
+# NETBSD SPECIFIC CONFIGURATION
+#
+
+INSTALL_PREFIX ?=
+LIBDIR =       $(INSTALL_PREFIX)/usr/lib
+
+SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
+HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
+
+DEFINES =      -D__NetBSD__
+LIBS =         -lm
+
+PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
+INSTALL_LIB =  install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
+               /sbin/ldconfig
\ No newline at end of file
diff --git a/make/Makefile.obsd b/make/Makefile.obsd
new file mode 100644 (file)
index 0000000..0af0a40
--- /dev/null
@@ -0,0 +1,16 @@
+#
+# OPENBSD SPECIFIC CONFIGURATION
+#
+
+INSTALL_PREFIX ?=
+LIBDIR =       $(INSTALL_PREFIX)/usr/lib
+
+SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
+HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
+
+DEFINES =      -D__OpenBSD__
+LIBS =         -lm
+
+PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
+INSTALL_LIB =  install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
+               /sbin/ldconfig
\ No newline at end of file
diff --git a/make/Makefile.osx b/make/Makefile.osx
new file mode 100644 (file)
index 0000000..f69a17d
--- /dev/null
@@ -0,0 +1,16 @@
+#
+# MAC OSX SPECIFIC CONFIGURATION
+#
+
+INSTALL_PREFIX ?=
+LIBDIR =       $(INSTALL_PREFIX)/usr/lib
+
+SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
+HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
+
+DEFINES =      -D__MacOSX__
+LIBS =         -lm -ldl
+
+PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
+INSTALL_LIB =  install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
+               /sbin/ldconfig
\ No newline at end of file
diff --git a/make/Makefile.win32 b/make/Makefile.win32
new file mode 100644 (file)
index 0000000..3d949a5
--- /dev/null
@@ -0,0 +1,92 @@
+#
+# WINDOWS32 SPECIFIC CONFIGURATION
+#
+
+INSTALL_PREFIX ?=
+EXENAME = olsrd.exe
+
+SRCS +=                $(wildcard src/win32/*.c)
+HDRS +=                $(wildcard src/win32/*.h)
+
+ifdef OLSRD_PLUGIN
+       LIBS += $(TOPDIR)/src/win32/compat.o
+endif
+
+DEFINES +=     -DWIN32
+LIBS +=                -mno-cygwin -lws2_32 -liphlpapi
+
+INCLUDES +=    -I$(TOPDIR)/src/win32
+CFLAGS +=      -mno-cygwin
+
+PLUGIN_FULLNAME ?= $(PLUGIN_NAME).dll
+INSTALL_LIB =  cp $(PLUGIN_FULLNAME) ../..
+
+OS_PTHREAD = 
+
+olsr-$(VERS).zip:      gui/win32/Main/Release/Switch.exe \
+               gui/win32/Shim/Release/Shim.exe \
+               olsrd.exe \
+               src/cfgparser/olsrd_cfgparser.dll \
+               README \
+               README-Link-Quality.html \
+               gui/win32/Inst/linux-manual.txt \
+               files/olsrd.conf.win32.rfc \
+               files/olsrd.conf.win32.lq \
+               gui/win32/Main/RFC-Default.olsr \
+               gui/win32/Main/LQ-Default.olsr \
+               lib/dot_draw/olsrd_dot_draw.dll \
+               lib/nameservice/olsrd_nameservice.dll \
+               lib/httpinfo/olsrd_httpinfo.dll
+               $(STRIP) olsrd.exe
+               $(STRIP) src/cfgparser/olsrd_cfgparser.dll
+               $(STRIP) lib/dot_draw/olsrd_dot_draw.dll
+               $(STRIP) lib/nameservice/olsrd_nameservice.dll
+               $(STRIP) lib/httpinfo/olsrd_httpinfo.dll
+               rm -rf $(TEMP)/olsr-$(VERS)
+               rm -f $(TEMP)/olsr-$(VERS).zip
+               rm -f olsr-$(VERS).zip
+               mkdir $(TEMP)/olsr-$(VERS)
+               cp gui/win32/Main/Release/Switch.exe $(TEMP)/olsr-$(VERS)
+               cp gui/win32/Shim/Release/Shim.exe $(TEMP)/olsr-$(VERS)
+               cp olsrd.exe $(TEMP)/olsr-$(VERS)
+               cp src/cfgparser/olsrd_cfgparser.dll $(TEMP)/olsr-$(VERS)
+               cp README $(TEMP)/olsr-$(VERS)
+               cp README-Link-Quality.html $(TEMP)/olsr-$(VERS)
+               cp gui/win32/Inst/linux-manual.txt $(TEMP)/olsr-$(VERS)
+               cp files/olsrd.conf.win32.rfc $(TEMP)/olsr-$(VERS)/olsrd.conf.rfc
+               cp files/olsrd.conf.win32.lq $(TEMP)/olsr-$(VERS)/olsrd.conf.lq
+               cp gui/win32/Main/RFC-Default.olsr $(TEMP)/olsr-$(VERS)
+               cp gui/win32/Main/LQ-Default.olsr $(TEMP)/olsr-$(VERS)/Default.olsr
+               cp lib/dot_draw/olsrd_dot_draw.dll $(TEMP)/olsr-$(VERS)
+               cp lib/nameservice/olsrd_nameservice.dll $(TEMP)/olsr-$(VERS)
+               cp lib/httpinfo/olsrd_httpinfo.dll $(TEMP)/olsr-$(VERS)
+               cd $(TEMP); echo y | cacls olsr-$(VERS) /T /G Everyone:F
+               cd $(TEMP); zip -q -r olsr-$(VERS).zip olsr-$(VERS)
+               cp $(TEMP)/olsr-$(VERS).zip .
+               rm -rf $(TEMP)/olsr-$(VERS)
+               rm -f $(TEMP)/olsr-$(VERS).zip
+
+olsr-$(VERS)-setup.exe:        gui/win32/Main/Release/Switch.exe \
+               gui/win32/Shim/Release/Shim.exe \
+               olsrd.exe \
+               src/cfgparser/olsrd_cfgparser.dll \
+               README \
+               README-Link-Quality.html \
+               gui/win32/Inst/linux-manual.txt \
+               files/olsrd.conf.win32.rfc \
+               files/olsrd.conf.win32.lq \
+               gui/win32/Main/RFC-Default.olsr \
+               gui/win32/Main/LQ-Default.olsr \
+               lib/dot_draw/olsrd_dot_draw.dll \
+               lib/nameservice/olsrd_nameservice.dll \
+               lib/httpinfo/olsrd_httpinfo.dll \
+               gui/win32/Inst/installer.nsi
+               $(STRIP) olsrd.exe
+               $(STRIP) src/cfgparser/olsrd_cfgparser.dll
+               $(STRIP) lib/dot_draw/olsrd_dot_draw.dll
+               $(STRIP) lib/nameservice/olsrd_nameservice.dll
+               $(STRIP) lib/httpinfo/olsrd_httpinfo.dll
+               rm -f olsr-setup.exe
+               rm -f olsr-$(VERS)-setup.exe
+               C:/Program\ Files/NSIS/makensis gui\win32\Inst\installer.nsi
+               mv olsr-setup.exe olsr-$(VERS)-setup.exe
diff --git a/make/Makefile.wince b/make/Makefile.wince
new file mode 100644 (file)
index 0000000..351412a
--- /dev/null
@@ -0,0 +1,14 @@
+#
+# WINDOWS CE SPECIFIC CONFIGURATION
+#
+
+INSTALL_PREFIX ?=
+LIBDIR =       $(INSTALL_PREFIX)/usr/lib
+
+SRCS +=                $(wildcard src/win32/*.c)
+HDRS +=                $(wildcard src/win32/*.h)
+
+DEFINES =      -DWIN32 -DWINCE
+LIBS =         -lwinsock -liphlpapi
+
+INCLUDES +=    -Isrc/win32 -Isrc/win32/ce
diff --git a/make/guess_os.sh b/make/guess_os.sh
new file mode 100755 (executable)
index 0000000..7a19445
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+if test -n "$OS"; then
+       # cygwin exports the OS environment vaiable - fix it. 
+       # otherwiese accept the user supplied OS
+       case "$OS" in
+               Windows*)       OS=win32 ;;
+       esac
+       echo $OS;
+       exit;
+else
+       # OS not specified.
+       # get it from uname
+       arch=`uname -s | tr '[A-Z]' '[a-z]'`
+       case "$arch" in
+               linux)          arch=linux ;;
+               freebsd*)       arch=fbsd ;;
+               netbsd*)        arch=nbsd ;;
+               openbsd*)       arch=obsd ;;
+               osx*)           arch=osx ;;
+               cygwin_*)       arch=win32 ;;
+               Windows_*)      arch=win32 ;;
+               *)              arch="UNKNOWN" ;;
+       esac
+       echo $arch
+fi
index 85abfbe..eda85bf 100644 (file)
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.18 2005/03/21 02:17:36 tlopatic Exp $
-
-CC ?=          gcc
-BISON ?=       bison
-FLEX ?=                flex
-CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes -g 
-LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
-DEPFILE =      .depend
-INCLUDES =     -I..
-SRCS =         olsrd_conf.c  oparse.c  oscan.c cfgfile_gen.c
-HDRS =         olsrd_conf.h  oparse.h
-PIPETONULL =
-DEPFLAGS =
-
-ifeq ($(OS), Windows_NT)
-OS =           win32
-endif
-
-ifeq ($(OS), linux)
-PIPETONULL =   >/dev/null 2>&1
-DEPFLAGS +=    -Dlinux -Y
-endif
+# $Id: Makefile,v 1.19 2005/05/25 13:50:22 br1 Exp $
 
-ifeq ($(OS), fbsd)
-DEPFLAGS +=    -D__FreeBSD__
-endif
+TOPDIR=../..
+include $(TOPDIR)/Makefile.inc
 
-ifeq ($(OS), nbsd)
-DEPFLAGS +=    -D__NetBSD__
-endif
-
-ifeq ($(OS), osx)
-DEPFLAGS +=    -D__MacOSX__
-endif
+SRCS =         olsrd_conf.c  oparse.c  oscan.c cfgfile_gen.c
+HDRS =         olsrd_conf.h  oparse.h
 
 ifeq ($(OS), win32)
 
 LIBNAME ?=     olsrd_cfgparser.dll
 BINNAME ?=     olsrd_cfgparser.exe
-
-PORT_CFLAGS =  -mno-cygwin -I../win32 -DWIN32_STDIO_HACK
-PORT_LDFLAGS = -mno-cygwin
-PORT_OBJS =    ../win32/compat.o
-PORT_LIBS =    -lws2_32
-DEPFLAGS +=    -DWIN32_STDIO_HACK -DWIN32
-INCLUDES +=    ../win32
-
-else
-ifeq ($(OS), wince)
-
-LIBNAME ?=
-BINNAME ?=
-
-PORT_CFLAGS =  -I../win32 -I../win32/ce
-PORT_LDFLAGS =
-PORT_OBJS =
-PORT_LIBS =
-DEPFLAGS +=    -DWIN32 -DWINCE
-INCLUDES +=    ../win32 ../win32/ce
+CFLAGS +=      -DWIN32_STDIO_HACK
+OBJS +=                ../win32/compat.o
 
 else
 
 LIBNAME ?=     olsrd_cfgparser.so.0.1
 BINNAME ?=     olsrd_cfgparser
+CFLAGS +=      -fPIC
+LDFLAGS +=     -Wl,--version-script=version-script.txt
 
-PORT_CFLAGS =  -fPIC
-PORT_LDFLAGS = -Wl,--version-script=version-script.txt
-PORT_OBJS =
-PORT_LIBS =    -lm -lc
-
-endif
 endif
 
 
-ifdef MAKELIB
-
-LDFLAGS +=     -shared -Wl,-soname,$(LIBNAME)
-CFLAGS +=      -DMAKELIB
-NAME =         $(LIBNAME)
-
-DEPFLAGS +=    -DMAKELIB 
-
-else 
 ifdef MAKEBIN
 
 CFLAGS +=      -DMAKEBIN 
 NAME =         $(BINNAME)
 
-DEPFLAGS +=    -DMAKEBIN
-
-endif
-endif
-
-MAKEDEPEND =   makedepend -f $(DEPFILE) $(DEPFLAGS) $(INCLUDES) $(SRCS) $(PIPETONULL)
+else 
 
-OBJS =         olsrd_conf.o oparse.o oscan.o cfgfile_gen.o $(PORT_OBJS)
-LIBS +=                $(PORT_LIBS)
-CFLAGS +=      -I.. $(PORT_CFLAGS)
-LDFLAGS +=     $(PORT_LDFLAGS)
+# build lib per default
+LDFLAGS +=     -shared -Wl,-soname,$(LIBNAME)
+CFLAGS +=      -DMAKELIB
+NAME =         $(LIBNAME)
 
+endif
 
-all:           $(OBJS) $(NAME)
 
-$(DEPFILE):    $(SRCS) $(HDRS)
-ifdef MAKEDEPEND
-               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
-               $(MAKEDEPEND)
-endif
+default_target: $(NAME)
 
 $(NAME):       $(OBJS)
                $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
@@ -161,12 +94,9 @@ install:
                /sbin/ldconfig -n $(LIBDIR)
 
 clean:
-               rm -f *.o
+               rm -f *.[od~]
                rm -f $(LIBNAME)
                rm -f $(BINNAME)
 
 uberclean:     clean
-               rm -f $(DEPFILE) $(DEPFILE).bak
                rm -f oparse.c oparse.h oscan.c
-
-sinclude       $(DEPFILE)