fa0e3a762cb417357674991e868ef22dfe626218
[olsrd.git] / lib / dyn_gw / Makefile
1
2 CC ?= gcc
3 STRIP ?= strip
4 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
5 PLUGINFLAGS = -fPIC -DOLSR_PLUGIN -I../../src
6
7 ifeq ($(OS), linux)
8 NAME ?= olsrd_dyn_gw.so.0.3
9 MYFLAGS ?= -fPIC -g # Uncomment -g for debugging
10 LIBS ?= -lpthread -lc -lm
11 CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2
12 INSTALL_LIB = install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
13               /sbin/ldconfig -n $(LIBDIR)
14 all:    plugin
15 install:install_olsrd
16 else
17 ifeq ($(OS), fbsd)
18 NAME ?= olsrd_dyn_gw.so.0.3
19 MYFLAGS ?= -fPIC -g # Uncomment -g for debugging
20 LIBS ?= -lpthread -lc -lm
21 CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2 
22 INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
23               /sbin/ldconfig
24 all:    plugin
25 install:install_olsrd
26 else
27 ifeq ($(OS), win32)
28 NAME ?= olsrd_dyn_gw.dll
29 NAMEFLAGS ?= -o $(NAME)
30 CFLAGS ?= -g -O2 -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes 
31 LDFLAGS ?= -mno-cygwin -shared
32 LIBS ?= -lws2_32
33 COMPATOBJ = ../../src/win32/compat.o
34 INSTALL_LIB =   cp $(NAME) ../..
35 all:    plugin
36 install:install_olsrd
37 else
38 all:    help
39 install:help
40 endif
41 endif
42 endif
43
44 CFLAGS += $(PLUGINFLAGS)
45
46 #Sourcefiles
47 SRCS=   src/olsrd_plugin.c src/olsrd_dyn_gw.c
48
49 #Objectfiles
50 OBJS=   src/olsrd_plugin.o src/olsrd_dyn_gw.o
51
52 #Headerfiles
53 HDRS=   src/olsrd_plugin.h src/olsrd_dyn_gw.h
54
55 plugin: $(OBJS)
56         $(CC) $(LDFLAGS) $(MYFLAGS) -shared -Wl,-soname,$(NAME) \
57         -Wl,--version-script=version-script.txt \
58         -o $(NAME) $(OBJS) $(LIBS)
59
60
61 install_olsrd:
62         $(STRIP) $(NAME)
63         $(INSTALL_LIB)
64 clean:
65         rm -f $(OBJS) $(NAME)
66
67 help:
68         @echo
69         @echo '**** olsr.org dynGW plugin Make ****'
70         @echo ' You must provide a valid target OS '
71         @echo ' by setting the OS variable! Valid  '
72         @echo ' target OSes are:                   '
73         @echo ' ---------------------------------  '
74         @echo ' linux - GNU/Linux                  '
75         @echo ' fbsd  - FreeBSD                    '
76         @echo ' win32 - Windows                    '
77         @echo ' ---------------------------------  '
78         @echo ' Example - build for FreeBSD:       '
79         @echo ' gmake OS=fbsd                      '
80         @echo '************************************'
81         @echo
82
83 src/olsrd_plugin.o: $(HDRS)
84
85 src/olsrd_dyn_gw.o: $(HDRS)