Added version script.
[olsrd.git] / src / cfgparser / Makefile
1 #
2 # OLSR ad-hoc routing table management protocol
3 # Copyright (C) 2003-2004 Andreas T√łnnesen (andreto@ifi.uio.no)
4 #
5 # This file is part of the olsr.org OLSR daemon.
6 #
7 # olsr.org is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # olsr.org is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with olsr.org; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20 #
21 #
22 # $Id: Makefile,v 1.7 2004/11/09 00:42:47 tlopatic Exp $
23 #
24
25 #OS =           linux
26 #OS =           fbsd
27 #OS =           win32
28 #OS =           osx
29
30 ifeq ($(OS), win32)
31
32 LIBNAME ?=      olsrd_cfgparser.dll
33 BINNAME ?=      olsrd_cfgparser.exe
34
35 PORT_CFLAGS =   -mno-cygwin -I../win32
36 PORT_LDFLAGS =  -mno-cygwin
37 PORT_OBJS =     ../win32/compat.o
38 PORT_LIBS =     -lws2_32
39
40 else
41 ifeq ($(OS), linux)
42
43 LIBNAME ?=      olsrd_cfgparser.so.0.1
44 BINNAME ?=      olsrd_cfgparser
45
46 PORT_CFLAGS =   -fPIC
47 PORT_LDFLAGS =  -Wl,--version-script=version-script.txt
48 PORT_OBJS =
49 PORT_LIBS =     -lm -lc
50
51 else
52 ifeq ($(OS), fbsd)
53
54 LIBNAME ?=      olsrd_cfgparser.so.0.1
55 BINNAME ?=      olsrd_cfgparser
56
57 PORT_CFLAGS =   -fPIC
58 PORT_LDFLAGS =  -Wl,--version-script=version-script.txt
59 PORT_OBJS =
60 PORT_LIBS =     -lm -lc
61
62 else
63 ifeq ($(OS), osx)
64
65 LIBNAME ?=      olsrd_cfgparser.so.0.1
66 BINNAME ?=      olsrd_cfgparser
67
68 PORT_CFLAGS =   -fPIC
69 PORT_LDFLAGS =  -Wl,--version-script=version-script.txt
70 PORT_OBJS =
71 PORT_LIBS =     -lm -lc
72
73 endif
74 endif
75 endif
76 endif
77
78 CC ?=           gcc
79 OBJS =          olsrd_conf.o oparse.o oscan.o $(PORT_OBJS)
80
81 ifdef MAKELIB
82
83 LIBDIR ?=       $(PREFIX)/usr/lib
84 LDFLAGS ?=      -shared -Wl,-soname,$(LIBNAME) $(PORT_LDFLAGS)
85 CFLAGS ?=       -Wall -Wmissing-prototypes -Wstrict-prototypes \
86                 -g -DMAKELIB -I.. $(PORT_CFLAGS)
87 LIBS ?=         $(PORT_LIBS)
88
89 NAME =          $(LIBNAME)
90
91 else 
92
93 LDFLAGS ?=      $(PORT_LDFLAGS)
94 CFLAGS ?=       -Wall -Wmissing-prototypes -Wstrict-prototypes \
95                 -g -DMAKEBIN -I.. $(PORT_CFLAGS)
96 LIBS ?=         $(PORT_LIBS)
97
98 NAME =          $(BINNAME)
99
100 endif
101
102 BISON ?=        bison
103 FLEX ?=         flex
104
105 all:            clean $(NAME)
106
107 $(NAME):        $(OBJS)
108                 $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
109                 rm -f *.o
110
111 oscan.c:        oscan.lex oparse.h olsrd_conf.h
112                 $(FLEX) -ooscan.c oscan.lex
113
114 oparse.h:       oparse.c
115
116 oparse.c:       oparse.y olsrd_conf.h
117                 $(BISON) -d -ooparse.c oparse.y
118
119 install:
120                 install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
121                 /sbin/ldconfig -n $(LIBDIR)
122
123 clean:
124                 rm -f *.o
125                 rm -f $(LIBNAME)
126                 rm -f $(BINNAME)