Added automatic OS detection to makefile
authorAndreas Tonnesen <andreto@olsr.org>
Tue, 31 May 2005 20:23:33 +0000 (20:23 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Tue, 31 May 2005 20:23:33 +0000 (20:23 +0000)
src/olsr_switch/Makefile
src/olsr_switch/main.c

index 8c345a8..82146d9 100644 (file)
@@ -2,7 +2,7 @@
 CC ?= gcc
 BINNAME = olsr_switch
 INCLUDES += -I./..
-CFLAGS += -O2 -g $(INCLUDES) -Wall
+CFLAGS += -O2 -g $(INCLUDES) -Wall -MD
 LDFLAGS +=
 TOPDIR = ../../
 
@@ -10,6 +10,30 @@ SRCS =       $(wildcard *.c)
 HDRS = $(wildcard *.h)
 OBJS = $(patsubst %.c,%.o,$(SRCS))
 
+
+# OS detection
+OS =           $(shell sh $(TOPDIR)/make/guess_os.sh)
+ifeq ($(OS),UNKNOWN)
+all: help
+else
+ifeq ($(OS),win32)
+WIN32 = 1
+endif
+all: default_target
+endif
+
+help:
+       @echo 
+       @echo '***** olsr.org olsr_switch Make ****'
+       @echo ' Automatic detection of your OS     '
+       @echo ' failed!                            '
+       @echo '************************************'
+       @echo
+
+
+# include dependencies
+-include $(SRCS:%.c=%.d)
+
 ifdef WIN32
 BINNAME = olsr_switch.exe
 CFLAGS += -DWIN32 -mno-cygwin
@@ -18,10 +42,10 @@ SRCS +=     $(TOPDIR)src/win32/compat.c
 LIBS += -mno-cygwin -lws2_32 -liphlpapi
 endif
 
-all:   $(OBJS)
+default_target:        $(OBJS)
        $(CC) $(LDFLAGS) -o $(TOPDIR)$(BINNAME) $(OBJS) $(LIBS)
 
 clean:
-       rm -f *.o
+       rm -f *.o *.d
        rm -f *~
        rm -f $(TOPDIR)$(BINNAME)
index 5aa2373..b7a86a7 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: main.c,v 1.10 2005/05/31 19:59:32 kattemat Exp $
+ * $Id: main.c,v 1.11 2005/05/31 20:23:33 kattemat Exp $
  */
 
 /* olsrd host-switch daemon */
 #include <unistd.h>
 #include <time.h>
 
+#ifdef WIN32
+#undef EINTR
+#define EINTR WSAEINTR
+#undef errno
+#define errno WSAGetLastError()
+#undef strerror
+#define strerror(x) StrError(x)
+#endif
+
 static int srv_socket;
 
 #define OHS_BUFSIZE 1500
@@ -64,7 +73,6 @@ static olsr_u8_t data_buffer[OHS_BUFSIZE];
 
 struct ohs_connection *ohs_conns;
 
-
 static int ip_version;
 int ipsize;
 static char ipv6_buf[100]; /* for address coversion */
@@ -412,7 +420,6 @@ main(int argc, char *argv[])
 
 #ifdef WIN32
   WSADATA WsaData;
-  int len;
 
   if (WSAStartup(0x0202, &WsaData))
     {