replaced httpinfo Makefile with the generic one. the old version had problems
authorBruno Randolf <br1@einfach.org>
Mon, 25 Apr 2005 10:57:17 +0000 (10:57 +0000)
committerBruno Randolf <br1@einfach.org>
Mon, 25 Apr 2005 10:57:17 +0000 (10:57 +0000)
with cross-compiling

lib/httpinfo/Makefile

index 1efebb6..e19a3b4 100644 (file)
-#######################################
-# HTTPINFO PLUGIN BY ANDREAS TØNNESEN #
-#######################################
+# 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.19 2005/04/25 10:57:17 br1 Exp $
+
+PLUGIN_NAME =  olsrd_httpinfo
+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 -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)
 
-CC ?= gcc
-STRIP ?= strip
-LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
-PLUGINFLAGS =  -fPIC -DOLSR_PLUGIN -I../../src
+NAME ?=                $(PLUGIN_NAME).so.$(PLUGIN_VER)
 
-ifeq ($(OS), linux)
-NAME ?= olsrd_httpinfo.so.0.1
-NAMEFLAGS ?= -Wl,-soname,$(NAME)
-CFLAGS ?= -g -O2 -fPIC -DOLSR_PLUGIN -Dlinux -Wall -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS ?= -g -fPIC -shared
-LIBS ?= -lc -lm
-INSTALL_LIB =  install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
+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)
-all:           plugin
-install:        install_olsrd
-else
-ifeq ($(OS), win32)
-NAME ?= olsrd_httpinfo.dll
-NAMEFLAGS ?= -o $(NAME)
-CFLAGS ?= -g -O2 -fPIC -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
+
+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 ?= olsrd_httpinfo.so.0.1
-NAMEFLAGS ?= -Wl,-soname,$(NAME)
-CFLAGS ?= -g -O2 -fPIC -Wall -Wmissing-prototypes -Wstrict-prototypes
-LDFLAGS ?= -g -fPIC -shared
-LIBS ?= -lc -lm
-INSTALL_LIB =  install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
+
+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
-all:           plugin
-install:        install_olsrd
+
+EXTRA_OBJS =   # nothing
+
+MAKEDEPEND =   makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
+
+all:           all2
+install:       install2
+clean:         clean2
+
 else
-all:   help
-install:help
-endif
+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
-
-ifneq ($(ADMIN_INTERFACE), )
-       @echo 'WARNING - BUILDING WITH ADMIN INTERFACE!'
-CFLAGS += -DADMIN_INTERFACE
 endif
 
-CFLAGS += $(PLUGINFLAGS)
+CFLAGS ?=      $(CFLAGS_SET)
+LDFLAGS ?=     $(LDFLAGS_SET)
 
-#Sourcefiles
-SRCS=  src/olsrd_plugin.c src/olsrd_httpinfo.c src/admin_interface.c \
-       ../../src/cfgparser/cfgfile_gen.c
+CFLAGS         += $(CFLAGS_ADD) $(CFLAGS_ADD2)
+LDFLAGS                += $(LDFLAGS_ADD)
 
-#Objectfiles
-OBJS=  src/olsrd_plugin.o src/olsrd_httpinfo.o src/admin_interface.o \
-       ../../src/cfgparser/cfgfile_gen.o
+all2:          $(NAME)
 
-#Headerfiles
-HDRS=  src/olsrd_plugin.h src/olsrd_httpinfo.h \
-       src/gfx.h src/html.h src/admin_interface.h src/admin_html.h
+$(NAME):       $(OBJS) $(EXTRA_OBJS)
+               $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(EXTRA_OBJS) $(LIBS)
 
+install2:      $(NAME)
+               $(STRIP) $(NAME)
+               $(INSTALL_LIB)
 
-plugin: $(OBJS)
-       $(CC) $(LDFLAGS) $(NAMEFLAGS) \
-       -Wl,--version-script=version-script.txt \
-       -o $(NAME) $(OBJS) $(COMPATOBJ) $(LIBS)
+clean2:
+               rm -f $(OBJS) $(NAME) $(DEPFILE)
 
-
-install_olsrd:
-       $(STRIP) $(NAME)
-       $(INSTALL_LIB)
+$(DEPFILE):    $(SRCS) $(HDRS)
+ifdef MAKEDEPEND
+               echo "# Generated automatically. DO NOT EDIT." >$(DEPFILE)
+               $(MAKEDEPEND)
+endif
 
 help:
-       @echo
-       @echo '***** olsr.org HTTP 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
-
-clean:
-       rm -f $(OBJS) $(NAME)
-
-src/olsrd_plugin.o: $(HDRS)
-
-src/olsrd_httpinfo.o: $(HDRS)
-
-src/admin_interface.o: $(HDRS)
+               @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)