ce652279e84b4e7deec6138f8929df481bd3e6e4
[olsrd.git] / lib / secure / Makefile
1
2 #############################################
3 #          OLSR.ORG SECURE PLUGIN           #
4 #############################################
5
6
7 CC ?= gcc
8 STRIP ?= strip
9 PLUGINFLAGS = -fPIC -DOLSR_PLUGIN -I../../src
10
11 ifdef USE_OPENSSL
12 PLUGINFLAGS += -DUSE_OPENSSL
13 endif
14
15 ifdef DEBUG
16 PLUGINFLAGS += -DDEBUG
17 endif
18
19 ifeq ($(OS), linux)
20 NAME ?= olsrd_secure.so.0.5
21 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
22 LIBS ?= -lc -lm
23 ifdef USE_OPENSSL
24 LIBS += -lssl -lcrypto
25 endif
26 LDFLAGS += -fPIC
27 CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2
28 INSTALL_LIB = install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
29         /sbin/ldconfig -n $(LIBDIR)
30
31 all:    plugin
32 install:install_olsrd
33 else
34 ifeq ($(OS), fbsd)
35 NAME ?= olsrd_secure.so.0.5
36 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
37 LIBS ?= -lc -lm
38 ifdef USE_OPENSSL
39 LIBS += -lssl -lcrypto
40 endif
41 LDFLAGS += -fPIC
42 CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2
43 INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
44         /sbin/ldconfig
45
46 all:    plugin
47 install:install_olsrd
48 else
49 ifeq ($(OS), win32)
50 NAME ?= olsrd_secure.dll
51 CFLAGS ?= -O2 -g -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes
52 LDFLAGS ?= -fPIC -mno-cygwin -shared
53 LIBS ?= -lws2_32
54 ifdef USE_OPENSSL
55 LIBS += -lssl -lcrypto
56 endif
57 INSTALL_LIB =   cp $(NAME) ../..
58 all:    plugin
59 install:install_olsrd
60 else
61 all:    help
62 install:help
63 endif
64 endif
65 endif
66
67 CFLAGS +=  $(PLUGINFLAGS)
68
69 #Sourcefiles
70 SRCS=   src/olsrd_plugin.c src/olsrd_secure.c
71
72 #Objectfiles
73 OBJS=   src/olsrd_plugin.o src/olsrd_secure.o
74
75 #Headerfiles
76 HDRS=   src/olsrd_plugin.h src/olsrd_secure.h
77
78 ifndef USE_OPENSSL
79 #Sourcefiles
80 SRCS+=  src/md5.c
81
82 #Objectfiles
83 OBJS+=  src/md5.o
84
85 #Headerfiles
86 HDRS+=  src/md5.h
87
88 endif
89
90 plugin: $(OBJS)
91         $(CC) $(LDFLAGS) -shared -Wl,-soname,$(NAME) \
92         -Wl,--version-script=version-script.txt \
93         -o $(NAME) $(OBJS) $(LIBS)
94
95
96 install_olsrd:
97         $(STRIP) $(NAME)
98         $(INSTALL_LIB)
99
100 clean:
101         rm -f $(OBJS) $(NAME)
102
103 help:
104         @echo
105         @echo '**** olsr.org secure plugin Make ***'
106         @echo ' You must provide a valid target OS '
107         @echo ' by setting the OS variable! Valid  '
108         @echo ' target OSes are:                   '
109         @echo ' ---------------------------------  '
110         @echo ' linux - GNU/Linux                  '
111         @echo ' fbsd  - FreeBSD                    '
112         @echo ' win32 - Windows                    '
113         @echo ' ---------------------------------  '
114         @echo ' Example - build for FreeBSD:       '
115         @echo ' gmake OS=fbsd                      '
116         @echo '************************************'
117         @echo
118
119 src/olsrd_plugin.o: $(HDRS)
120
121 src/olsrd_secure.o: $(HDRS)