1efebb60f242394d878c1134fda95514d2b19f1e
[olsrd.git] / lib / httpinfo / Makefile
1 #######################################
2 # HTTPINFO PLUGIN BY ANDREAS T├śNNESEN #
3 #######################################
4
5
6 CC ?= gcc
7 STRIP ?= strip
8 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
9 PLUGINFLAGS =  -fPIC -DOLSR_PLUGIN -I../../src
10
11 ifeq ($(OS), linux)
12 NAME ?= olsrd_httpinfo.so.0.1
13 NAMEFLAGS ?= -Wl,-soname,$(NAME)
14 CFLAGS ?= -g -O2 -fPIC -DOLSR_PLUGIN -Dlinux -Wall -Wmissing-prototypes -Wstrict-prototypes
15 LDFLAGS ?= -g -fPIC -shared
16 LIBS ?= -lc -lm
17 INSTALL_LIB =   install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
18                 /sbin/ldconfig -n $(LIBDIR)
19 all:            plugin
20 install:        install_olsrd
21 else
22 ifeq ($(OS), win32)
23 NAME ?= olsrd_httpinfo.dll
24 NAMEFLAGS ?= -o $(NAME)
25 CFLAGS ?= -g -O2 -fPIC -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes
26 LDFLAGS ?= -mno-cygwin -shared
27 LIBS ?= -lws2_32
28 COMPATOBJ = ../../src/win32/compat.o
29 INSTALL_LIB =   cp $(NAME) ../..
30 all:            plugin
31 install:        install_olsrd
32 else
33 ifeq ($(OS), fbsd)
34 NAME ?= olsrd_httpinfo.so.0.1
35 NAMEFLAGS ?= -Wl,-soname,$(NAME)
36 CFLAGS ?= -g -O2 -fPIC -Wall -Wmissing-prototypes -Wstrict-prototypes
37 LDFLAGS ?= -g -fPIC -shared
38 LIBS ?= -lc -lm
39 INSTALL_LIB =   install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
40                 /sbin/ldconfig
41 all:            plugin
42 install:        install_olsrd
43 else
44 all:    help
45 install:help
46 endif
47 endif
48 endif
49
50 ifneq ($(ADMIN_INTERFACE), )
51         @echo 'WARNING - BUILDING WITH ADMIN INTERFACE!'
52 CFLAGS += -DADMIN_INTERFACE
53 endif
54
55 CFLAGS += $(PLUGINFLAGS)
56
57 #Sourcefiles
58 SRCS=   src/olsrd_plugin.c src/olsrd_httpinfo.c src/admin_interface.c \
59         ../../src/cfgparser/cfgfile_gen.c
60
61 #Objectfiles
62 OBJS=   src/olsrd_plugin.o src/olsrd_httpinfo.o src/admin_interface.o \
63         ../../src/cfgparser/cfgfile_gen.o
64
65 #Headerfiles
66 HDRS=   src/olsrd_plugin.h src/olsrd_httpinfo.h \
67         src/gfx.h src/html.h src/admin_interface.h src/admin_html.h
68
69
70 plugin: $(OBJS)
71         $(CC) $(LDFLAGS) $(NAMEFLAGS) \
72         -Wl,--version-script=version-script.txt \
73         -o $(NAME) $(OBJS) $(COMPATOBJ) $(LIBS)
74
75
76 install_olsrd:
77         $(STRIP) $(NAME)
78         $(INSTALL_LIB)
79
80 help:
81         @echo
82         @echo '***** olsr.org HTTP plugin Make ****'
83         @echo ' You must provide a valid target OS '
84         @echo ' by setting the OS variable! Valid  '
85         @echo ' target OSes are:                   '
86         @echo ' ---------------------------------  '
87         @echo ' linux - GNU/Linux                  '
88         @echo ' win32 - MS Windows                 '
89         @echo ' fbsd  - FreeBSD                    '
90         @echo ' ---------------------------------  '
91         @echo ' Example - build for windows:       '
92         @echo ' make OS=win32                      '
93         @echo '************************************'
94         @echo
95
96 clean:
97         rm -f $(OBJS) $(NAME)
98
99 src/olsrd_plugin.o: $(HDRS)
100
101 src/olsrd_httpinfo.o: $(HDRS)
102
103 src/admin_interface.o: $(HDRS)