include ADMIN_INTERFACE flag and src/cfgparser/cfgfile_gen.o
[olsrd.git] / lib / httpinfo / Makefile
1 # The olsr.org Optimized Link-State Routing daemon(olsrd)
2 # Copyright (c) 2004, Andreas T√łnnesen(andreto@olsr.org)
3 # All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or without 
6 # modification, are permitted provided that the following conditions 
7 # are met:
8 #
9 # * Redistributions of source code must retain the above copyright 
10 #   notice, this list of conditions and the following disclaimer.
11 # * Redistributions in binary form must reproduce the above copyright 
12 #   notice, this list of conditions and the following disclaimer in 
13 #   the documentation and/or other materials provided with the 
14 #   distribution.
15 # * Neither the name of olsr.org, olsrd nor the names of its 
16 #   contributors may be used to endorse or promote products derived 
17 #   from this software without specific prior written permission.
18 #
19 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
20 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
21 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
22 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
23 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
24 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
25 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
26 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
27 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
29 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
30 # POSSIBILITY OF SUCH DAMAGE.
31 #
32 # Visit http://www.olsr.org for more information.
33 #
34 # If you find this software useful feel free to make a donation
35 # to the project. For more information see the website or contact
36 # the copyright holders.
37 #
38 # $Id: Makefile,v 1.20 2005/04/25 11:36:23 br1 Exp $
39
40 PLUGIN_NAME =   olsrd_httpinfo
41 PLUGIN_VER =    0.1
42
43 CC ?=           gcc
44 STRIP ?=        strip
45
46 # default CFLAGS and LDFLAGS, used if not externally set
47
48 # used for compilation: yes
49 # used for dependency file generation: no
50
51 CFLAGS_SET =    -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes
52 LDFLAGS_SET =   -g
53
54 # always appended to default or externally set CFLAGS and LDFLAGS
55
56 # used for compilation: yes
57 # used for dependency file generation: yes
58
59 CFLAGS_ADD =    -DOLSR_PLUGIN -I../../src
60 LDFLAGS_ADD =   -Wall -shared -Wl,--version-script=version-script.txt
61
62 # same as CFLAGS_ADD, but not used for dependency file generation
63
64 # used for compilation: yes
65 # used for dependency file generation: no
66
67 CFLAGS_ADD2 =   # nothing
68
69 DEPFILE =       .depend
70
71 SRCS =          $(wildcard src/*.c)
72 OBJS =          $(patsubst %.c,%.o,$(SRCS))
73 HDRS =          $(wildcard src/*.c)
74
75 ifndef OS
76 all:            help
77 install:        help
78 clean:          help
79 endif
80
81 ifeq ($(OS), linux)
82
83 NAME ?=         $(PLUGIN_NAME).so.$(PLUGIN_VER)
84
85 CFLAGS_ADD +=   -Dlinux
86 CFLAGS_ADD2 +=  -fPIC
87 LDFLAGS_ADD +=  -fPIC -Wl,-soname,$(NAME)
88
89 CFLAGS_SET +=   # nothing
90 LDFLAGS_SET +=  # nothing
91
92 LIBS ?=         -lc -lm
93
94 LIBDIR ?=       $(INSTALL_PREFIX)/usr/lib
95
96 INSTALL_LIB =   install -D -m 755 $(NAME) $(LIBDIR)/$(NAME); \
97                 /sbin/ldconfig -n $(LIBDIR)
98
99 EXTRA_OBJS =    # nothing
100
101 MAKEDEPEND =    makedepend -f $(DEPFILE) $(CFLAGS_ADD) -Y $(INCLUDES) \
102                 $(SRCS) >/dev/null 2>&1
103
104 all:            all2
105 install:        install2
106 clean:          clean2
107
108 else
109 ifeq ($(OS), fbsd)
110
111 NAME ?=         $(PLUGIN_NAME).so.$(PLUGIN_VER)
112
113 CFLAGS_ADD +=   # nothing
114 CFLAGS_ADD2 +=  -fPIC
115 LDFLAGS_ADD +=  -fPIC -Wl,-soname,$(NAME)
116
117 CFLAGS_SET +=   # nothing
118 LDFLAGS_SET +=  # nothing
119
120 LIBS ?=         -lc -lm
121
122 LIBDIR ?=       $(INSTALL_PREFIX)/usr/lib
123
124 INSTALL_LIB =   install -m 755 $(NAME) $(LIBDIR)/$(NAME); \
125                 /sbin/ldconfig
126
127 EXTRA_OBJS =    # nothing
128
129 MAKEDEPEND =    makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
130
131 all:            all2
132 install:        install2
133 clean:          clean2
134
135 else
136 ifeq ($(OS), win32)
137
138 NAME ?=         $(PLUGIN_NAME).dll
139
140 CFLAGS_ADD +=   -mno-cygwin -I../../src/win32 -DWIN32
141 CFLAGS_ADD2 +=  # nothing
142 LDFLAGS_ADD +=  -mno-cygwin -Wl,-soname,$(NAME)
143
144 CFLAGS_SET +=   # nothing
145 LDFLAGS_SET +=  # nothing
146
147 LIBS ?=         -lws2_32
148
149 INSTALL_LIB =   cp $(NAME) ../..
150
151 EXTRA_OBJS =    ../../src/win32/compat.o
152
153 MAKEDEPEND =    makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
154
155 all:            all2
156 install:        install2
157 clean:          clean2
158
159 else
160
161 all:            help
162 install:        help
163 clean:          help
164
165 endif
166 endif
167 endif
168
169 EXTRA_OBJS += ../../src/cfgparser/cfgfile_gen.o
170
171 ifneq ($(ADMIN_INTERFACE), )
172         @echo 'WARNING - BUILDING WITH ADMIN INTERFACE!'
173 CFLAGS_ADD += -DADMIN_INTERFACE
174 endif
175                 
176 CFLAGS ?=       $(CFLAGS_SET)
177 LDFLAGS ?=      $(LDFLAGS_SET)
178
179 CFLAGS          += $(CFLAGS_ADD) $(CFLAGS_ADD2)
180 LDFLAGS         += $(LDFLAGS_ADD)
181
182 all2:           $(NAME)
183
184 $(NAME):        $(OBJS) $(EXTRA_OBJS)
185                 $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(EXTRA_OBJS) $(LIBS)
186
187 install2:       $(NAME)
188                 $(STRIP) $(NAME)
189                 $(INSTALL_LIB)
190
191 clean2:
192                 rm -f $(OBJS) $(NAME) $(DEPFILE)
193
194 $(DEPFILE):     $(SRCS) $(HDRS)
195 ifdef MAKEDEPEND
196                 echo "# Generated automatically. DO NOT EDIT." >$(DEPFILE)
197                 $(MAKEDEPEND)
198 endif
199
200 help:
201                 @echo
202                 @echo '                     * * * *  olsr.org Plugin Make  * * * *'
203                 @echo
204                 @echo '  Plugin: $(PLUGIN_NAME), version $(PLUGIN_VER)'
205                 @echo
206                 @echo '  You must provide a valid target OS by setting the OS variable.'
207                 @echo
208                 @echo '  Valid settings are:'
209                 @echo
210                 @echo '    linux - GNU/Linux'
211                 @echo '    win32 - Microsoft Windows'
212                 @echo '    fbsd  - FreeBSD'
213                 @echo
214                 @echo '  Example - Build on Windows:'
215                 @echo
216                 @echo '    make OS=win32'
217                 @echo
218                 @echo '  Example - Build and install on Linux:'
219                 @echo
220                 @echo '    make OS=linux install            '
221                 @echo
222
223 sinclude $(DEPFILE)