1# The olsr.org Optimized Link-State Routing daemon (olsrd)
2#
3# (c) by the OLSR project
4#
5# See our Git repository to find out who worked on this file
6# and thus is a copyright holder on it.
7#
8# All rights reserved.
9#
10# Redistribution and use in source and binary forms, with or without
11# modification, are permitted provided that the following conditions
12# are met:
13#
14# * Redistributions of source code must retain the above copyright
15#   notice, this list of conditions and the following disclaimer.
16# * Redistributions in binary form must reproduce the above copyright
17#   notice, this list of conditions and the following disclaimer in
18#   the documentation and/or other materials provided with the
19#   distribution.
20# * Neither the name of olsr.org, olsrd nor the names of its
21#   contributors may be used to endorse or promote products derived
22#   from this software without specific prior written permission.
23#
24# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
27# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
28# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
34# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35# POSSIBILITY OF SUCH DAMAGE.
36#
37# Visit http://www.olsr.org for more information.
38#
39# If you find this software useful feel free to make a donation
40# to the project. For more information see the website or contact
41# the copyright holders.
42#
43
44TOPDIR=../..
45include $(TOPDIR)/Makefile.inc
46
47# delete the variables from above
48SRCS =
49HDRS =
50
51include local.mk
52
53OBJS +=		../ipcalc.o ../builddata.o ../common/autobuf.o ../common/string_handling.o ../lock_file.o
54OBJS +=		../superfasthash.o
55
56ifeq ($(OS), win32)
57
58LIBNAME ?=	olsrd_cfgparser.dll
59BINNAME ?=	olsrd_cfgparser.exe
60OBJS +=		../win32/compat.o
61
62else
63
64LIBNAME ?=	olsrd_cfgparser.so.0.1
65BINNAME ?=	olsrd_cfgparser
66
67endif
68
69
70ifdef MAKEBIN
71
72CPPFLAGS +=	-DMAKEBIN
73NAME =		$(BINNAME)
74
75else
76
77# build lib per default
78
79ifeq (${OS}, osx)
80LDFLAGS +=	-dynamiclib -single_module
81else
82LDFLAGS +=	-shared -Wl,-soname,$(LIBNAME)
83endif
84
85ifeq (${OS}, win32)
86LDFLAGS +=	-Wl,--out-implib=libolsrd_cfgparser.a -Wl,--export-all-symbols
87endif
88
89CPPFLAGS +=	-DMAKELIB
90NAME =		$(LIBNAME)
91
92endif
93
94.PHONY: install clean uberclean
95
96# Targets
97default_target: $(NAME)
98
99$(NAME):	$(OBJS)
100ifeq ($(VERBOSE),0)
101		@echo "[LD] $@"
102endif
103		$(MAKECMDPREFIX)$(CC) $(LDFLAGS) -o "$@" $^ $(LIBS)
104
105install:
106		install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
107		$(LDCONFIG) -n $(LIBDIR)
108
109clean:
110		rm -f *.[od~] $(LIBNAME) $(BINNAME) $(TMPFILES)
111
112uberclean:	clean
113