Updates to make building from main makefile work
[olsrd.git] / lib / powerinfo / Makefile
1
2 #############################################
3 # EXAMPLE MAKEFILE TO CREATE A OLSRD PLUGIN #
4 #############################################
5
6 #Alter this file to fit your needs
7
8 CC ?= gcc
9 STRIP ?= strip
10 PLUGINFLAGS =  -fPIC -DOLSR_PLUGIN -I../../src
11
12 ifndef OS
13 all:            help
14 endif
15
16 ifeq ($(OS), linux)
17 NAME ?= olsrd_power.so.0.3
18 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
19 # -fPIC creates position independent code
20 LIBS ?= -lc -lm
21 CFLAGS ?= -Wall -g -O2 -Wmissing-prototypes -Wstrict-prototypes
22 LDFLAGS ?= -fPIC
23 INSTALL_LIB = install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
24         /sbin/ldconfig -n $(LIBDIR)
25 all:    plugin
26 else
27 ifeq ($(OS), fbsd)
28 NAME ?= olsrd_power.so.0.3
29 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
30 # -fPIC creates position independent code
31 LIBS ?= -lc -lm
32 CFLAGS ?= -Wall -g -O2 -Wmissing-prototypes -Wstrict-prototypes
33 LDFLAGS ?= -fPIC
34 INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
35         /sbin/ldconfig
36 all:    plugin
37 else
38 ifeq ($(OS), win32)
39 NAME ?= olsrd_power.dll
40 CFLAGS ?= -O2 -g -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes $(PLUGINFLAGS)
41 LDFLAGS ?= -mno-cygwin -shared -fPIC
42 LIBS ?= -lws2_32
43 INSTALL_LIB =   cp $(NAME) ../..
44 else
45 all:    help
46 endif
47 endif
48 endif
49
50 CFLAGS +=  $(PLUGINFLAGS)
51
52 #Sourcefiles
53 #add yours here
54 SRCS=   src/olsrd_plugin.c src/olsrd_power.c
55
56 #Objectfiles
57 #add yours here
58 OBJS=   src/olsrd_plugin.o src/olsrd_power.o
59
60 #Headerfiles
61 #add yours here
62 HDRS=   src/olsrd_plugin.h src/olsrd_power.h src/olsr_plugin_io.h
63
64 # -Wl passes options to the linker(-soname,....)
65 # Use -lc to link it against C library
66 # not 100% sure if this is neccesary
67
68 plugin: $(OBJS)
69         $(CC) $(LDFLAGS) -shared -Wl,-soname,$(NAME) \
70         -Wl,--version-script=version-script.txt \
71         -o $(NAME) $(OBJS) $(LIBS)
72
73
74 install:
75         $(STRIP) $(NAME)
76         $(INSTALL_LIB)
77
78 clean:
79         rm -f $(OBJS) $(NAME)
80
81
82 help:
83         @echo
84         @echo '******* olsr.org powerplugin *******'
85         @echo ' You must provide a valid target OS '
86         @echo ' by setting the OS variable! Valid  '
87         @echo ' target OSes are:                   '
88         @echo ' ---------------------------------  '
89         @echo ' linux - GNU/Linux                  '
90         @echo ' win32 - MS Windows                 '
91         @echo ' fbsd  - FreeBSD                    '
92         @echo ' ---------------------------------  '
93         @echo ' Example - build for windows:       '
94         @echo ' make OS=win32                      '
95         @echo '************************************'
96         @echo
97
98 src/olsrd_plugin.o: $(HDRS)
99
100 src/olsrd_power.o: $(HDRS)
101