License change
[olsrd.git] / src / cfgparser / Makefile
1
2 # The olsr.org Optimized Link-State Routing daemon(olsrd)
3 # Copyright (c) 2004, Andreas T√łnnesen(andreto@olsr.org)
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without 
7 # modification, are permitted provided that the following conditions 
8 # are met:
9 #
10 # * Redistributions of source code must retain the above copyright 
11 #   notice, this list of conditions and the following disclaimer.
12 # * Redistributions in binary form must reproduce the above copyright 
13 #   notice, this list of conditions and the following disclaimer in 
14 #   the documentation and/or other materials provided with the 
15 #   distribution.
16 # * Neither the name of olsr.org, olsrd nor the names of its 
17 #   contributors may be used to endorse or promote products derived 
18 #   from this software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
23 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
24 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
25 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
26 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
27 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
28 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
29 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
30 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
31 # POSSIBILITY OF SUCH DAMAGE.
32 #
33 # Visit http://www.olsr.org for more information.
34 #
35 # If you find this software useful feel free to make a donation
36 # to the projcet. For more information see the website or contact
37 # the copyright holders.
38 #
39 # $Id: Makefile,v 1.8 2004/11/20 23:57:32 kattemat Exp $
40
41
42
43
44 #OS =           linux
45 #OS =           fbsd
46 #OS =           win32
47 #OS =           osx
48
49 ifeq ($(OS), win32)
50
51 LIBNAME ?=      olsrd_cfgparser.dll
52 BINNAME ?=      olsrd_cfgparser.exe
53
54 PORT_CFLAGS =   -mno-cygwin -I../win32
55 PORT_LDFLAGS =  -mno-cygwin
56 PORT_OBJS =     ../win32/compat.o
57 PORT_LIBS =     -lws2_32
58
59 else
60 ifeq ($(OS), linux)
61
62 LIBNAME ?=      olsrd_cfgparser.so.0.1
63 BINNAME ?=      olsrd_cfgparser
64
65 PORT_CFLAGS =   -fPIC
66 PORT_LDFLAGS =  -Wl,--version-script=version-script.txt
67 PORT_OBJS =
68 PORT_LIBS =     -lm -lc
69
70 else
71 ifeq ($(OS), fbsd)
72
73 LIBNAME ?=      olsrd_cfgparser.so.0.1
74 BINNAME ?=      olsrd_cfgparser
75
76 PORT_CFLAGS =   -fPIC
77 PORT_LDFLAGS =  -Wl,--version-script=version-script.txt
78 PORT_OBJS =
79 PORT_LIBS =     -lm -lc
80
81 else
82 ifeq ($(OS), osx)
83
84 LIBNAME ?=      olsrd_cfgparser.so.0.1
85 BINNAME ?=      olsrd_cfgparser
86
87 PORT_CFLAGS =   -fPIC
88 PORT_LDFLAGS =  -Wl,--version-script=version-script.txt
89 PORT_OBJS =
90 PORT_LIBS =     -lm -lc
91
92 endif
93 endif
94 endif
95 endif
96
97 CC ?=           gcc
98 OBJS =          olsrd_conf.o oparse.o oscan.o $(PORT_OBJS)
99
100 ifdef MAKELIB
101
102 LIBDIR ?=       $(PREFIX)/usr/lib
103 LDFLAGS ?=      -shared -Wl,-soname,$(LIBNAME) $(PORT_LDFLAGS)
104 CFLAGS ?=       -Wall -Wmissing-prototypes -Wstrict-prototypes \
105                 -g -DMAKELIB -I.. $(PORT_CFLAGS)
106 LIBS ?=         $(PORT_LIBS)
107
108 NAME =          $(LIBNAME)
109
110 else 
111
112 LDFLAGS ?=      $(PORT_LDFLAGS)
113 CFLAGS ?=       -Wall -Wmissing-prototypes -Wstrict-prototypes \
114                 -g -DMAKEBIN -I.. $(PORT_CFLAGS)
115 LIBS ?=         $(PORT_LIBS)
116
117 NAME =          $(BINNAME)
118
119 endif
120
121 BISON ?=        bison
122 FLEX ?=         flex
123
124 all:            clean $(NAME)
125
126 $(NAME):        $(OBJS)
127                 $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
128                 rm -f *.o
129
130 oscan.c:        oscan.lex oparse.h olsrd_conf.h
131                 $(FLEX) -ooscan.c oscan.lex
132
133 oparse.h:       oparse.c
134
135 oparse.c:       oparse.y olsrd_conf.h
136                 $(BISON) -d -ooparse.c oparse.y
137
138 install:
139                 install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
140                 /sbin/ldconfig -n $(LIBDIR)
141
142 clean:
143                 rm -f *.o
144                 rm -f $(LIBNAME)
145                 rm -f $(BINNAME)