Also select -1.0 quality vertices as best vertices.
[olsrd.git] / Makefile
index 04087c3..e6bdba0 100644 (file)
--- a/Makefile
+++ b/Makefile
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 #
-# $Id: Makefile,v 1.13 2004/11/05 09:31:46 kattemat Exp $
+# $Id: Makefile,v 1.21 2004/11/10 11:12:50 kattemat Exp $
 #
 
-OS ?=          linux
+#OS ?=         linux
 #OS =          fbsd
 #OS =          win32
+#OS =          osx
 
 CC ?=          gcc
 
@@ -37,8 +38,14 @@ FLEX ?=              flex
 CFGDIR =       src/cfgparser
 
 DEPFILE =      .depend
+DEPBAK =       .depend.bak
 DEPEND =       makedepend -f $(DEPFILE)
 
+DEFINES =      -DUSE_LINK_QUALITY
+INCLUDES =     -I src
+
+all:           olsrd
+
 SRCS =         $(wildcard src/*.c) \
                $(CFGDIR)/oparse.c $(CFGDIR)/oscan.c $(CFGDIR)/olsrd_conf.c
 
@@ -57,12 +64,22 @@ HDRS +=             $(wildcard src/linux/*.h) $(wildcard src/unix/*.h)
 OBJS +=                $(patsubst %.c,%.o,$(wildcard src/linux/*.c)) \
                $(patsubst %.c,%.o,$(wildcard src/unix/*.c))
 
-CFLAGS ?=      -Isrc -Wall -Wmissing-prototypes -Wstrict-prototypes \
-               -O2 -g -Dlinux #-pg -DDEBUG #-march=i686
+DEFINES +=     -Dlinux
+
+CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes \
+               -O2 -g #-pg -DDEBUG #-march=i686
 
 LIBS =         -lpthread -lm -ldl
 
-endif
+
+$(DEPFILE):    $(SRCS) $(HDRS)
+               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
+               $(DEPEND) -Y $(INCLUDES) $(DEFINES) $(SRCS) >/dev/null 2>&1
+
+olsrd:         $(OBJS)
+               $(CC) -o bin/$@ $(OBJS) $(LIBS)
+
+else
 ifeq ($(OS), fbsd)
 
 SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
@@ -72,13 +89,19 @@ HDRS +=             $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
 OBJS +=                $(patsubst %.c,%.o,$(wildcard src/bsd/*.c)) \
                $(patsubst %.c,%.o,$(wildcard src/unix/*.c))
 
-CFLAGS ?=      -Isrc -Wall -Wmissing-prototypes -Wstrict-prototypes \
+CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes \
                -O2 -g
 
 LIBS =         -pthread -lm
 
+$(DEPFILE):    $(SRCS) $(HDRS)
+               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
+               $(DEPEND) $(INCLUDES) $(DEFINES) $(SRCS)
 
-endif
+olsrd:         $(OBJS)
+               $(CC) -o bin/$@ $(OBJS) $(LIBS)
+
+else
 ifeq ($(OS), win32)
 
 SRCS +=                $(wildcard src/win32/*.c)
@@ -87,23 +110,75 @@ HDRS +=            $(wildcard src/win32/*.h)
 
 OBJS +=                $(patsubst %.c,%.o,$(wildcard src/win32/*.c))
 
-CFLAGS ?=      -Isrc -Isrc/win32 -Wall -Wmissing-prototypes \
-               -Wstrict-prototypes -mno-cygwin -O2 -g -DWIN32
+INCLUDES +=    -Isrc/win32
 
-LIBS =         -mno-cygwin -lws2_32 -liphlpapi
+DEFINES +=     -DWIN32
 
-endif
+CFLAGS ?=      -Wall -Wmissing-prototypes \
+               -Wstrict-prototypes -mno-cygwin -O2 -g
 
-all:           olsrd
+LIBS =         -mno-cygwin -lws2_32 -liphlpapi
+
+$(DEPFILE):    $(SRCS) $(HDRS)
+               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
+               $(DEPEND) $(INCLUDES) $(DEFINES) $(SRCS) >/dev/null 2>&1
 
 olsrd:         $(OBJS)
                $(CC) -o bin/$@ $(OBJS) $(LIBS)
 
-depend:                $(DEPFILE)
+else
+ifeq ($(OS), osx)
+
+SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
+
+HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
+
+OBJS +=                $(patsubst %.c,%.o,$(wildcard src/bsd/*.c)) \
+               $(patsubst %.c,%.o,$(wildcard src/unix/*.c))
+
+DEFINES +=     -D__MacOSX__
+
+CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -g 
+
+LIBS =         -lm -ldl
 
-$(DEPFILE):
+$(DEPFILE):    $(SRCS) $(HDRS)
                @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
-               $(DEPEND) -Y $(CFLAGS) $(SRCS)
+               $(DEPEND) $(INCLUDES) $(DEFINES) $(SRCS)
+
+olsrd:         $(OBJS)
+               $(CC) -o bin/$@ $(OBJS) $(LIBS)
+
+else
+
+olsrd:
+       @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 - Windows NT family(2k/XP)   '
+       @echo ' fbsd  - FreeBSD                    '
+       @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
+endif
+endif
+endif
+endif
+
+override CFLAGS += $(INCLUDES) $(DEFINES)
+export CFLAGS
+
+depend:                $(DEPFILE)
 
 $(CFGDIR)/oparse.c: \
                $(CFGDIR)/oparse.y $(CFGDIR)/olsrd_conf.h
@@ -132,9 +207,9 @@ clean:
                rm -f $(OBJS)
 
 uberclean:
-               rm -f $(OBJS) $(DEPFILE) 
+               rm -f $(OBJS) $(DEPFILE) $(DEPBAK)
                rm -f $(CFGDIR)/oscan.c $(CFGDIR)/oparse.h $(CFGDIR)/oparse.c
-               rm -f bin/olsrd
+               rm -f bin/olsrd bin/olsrd.exe
                rm -f src/*~ src/linux/*~ src/unix/*~ src/win32/*~
                rm -f src/bsd/*~ src/cfgparser/*~