26cc975dc916c5334ce72392533bcc131352fbeb
[olsrd.git] / lib / dot_draw / Makefile
1 # olsr.org dot-draw plugin by Andreas T√łnnesen
2 #                             and Bruno Randolf
3 #
4 # $Id: Makefile,v 1.14 2005/03/31 17:09:53 kattemat Exp $
5
6 PLUGIN_NAME =   olsrd_dot_draw
7 PLUGIN_VER =    0.3
8
9 CC ?=           gcc
10 STRIP ?=        strip
11
12 # default CFLAGS and LDFLAGS, used if not externally set
13
14 # used for compilation: yes
15 # used for dependency file generation: no
16
17 CFLAGS_SET =    -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes
18 LDFLAGS_SET =   -g
19
20 # always appended to default or externally set CFLAGS and LDFLAGS
21
22 # used for compilation: yes
23 # used for dependency file generation: yes
24
25 CFLAGS_ADD =    -DOLSR_PLUGIN -I../../src
26 LDFLAGS_ADD =   -Wall -shared -Wl,--version-script=version-script.txt
27
28 # same as CFLAGS_ADD, but not used for dependency file generation
29
30 # used for compilation: yes
31 # used for dependency file generation: no
32
33 CFLAGS_ADD2 =   # nothing
34
35 DEPFILE =       .depend
36
37 SRCS =          $(wildcard src/*.c)
38 OBJS =          $(patsubst %.c,%.o,$(SRCS))
39 HDRS =          $(wildcard src/*.c)
40
41 ifndef OS
42 all:            help
43 install:        help
44 clean:          help
45 endif
46
47 ifeq ($(OS), linux)
48
49 NAME ?=         $(PLUGIN_NAME).so.$(PLUGIN_VER)
50
51 CFLAGS_ADD +=   -Dlinux
52 CFLAGS_ADD2 +=  -fPIC
53 LDFLAGS_ADD +=  -fPIC -Wl,-soname,$(NAME)
54
55 CFLAGS_SET +=   # nothing
56 LDFLAGS_SET +=  # nothing
57
58 LIBS ?=         -lc -lm
59
60 LIBDIR ?=       $(INSTALL_PREFIX)/usr/lib
61
62 INSTALL_LIB =   install -D -m 755 $(NAME) $(LIBDIR)/$(NAME); \
63                 /sbin/ldconfig -n $(LIBDIR)
64
65 EXTRA_OBJS =    # nothing
66
67 MAKEDEPEND =    makedepend -f $(DEPFILE) $(CFLAGS_ADD) -Y $(INCLUDES) \
68                 $(SRCS) >/dev/null 2>&1
69
70 all:            all2
71 install:        install2
72 clean:          clean2
73
74 else
75 ifeq ($(OS), fbsd)
76
77 NAME ?=         $(PLUGIN_NAME).so.$(PLUGIN_VER)
78
79 CFLAGS_ADD +=   # nothing
80 CFLAGS_ADD2 +=  -fPIC
81 LDFLAGS_ADD +=  -fPIC -Wl,-soname,$(NAME)
82
83 CFLAGS_SET +=   # nothing
84 LDFLAGS_SET +=  # nothing
85
86 LIBS ?=         -lc -lm
87
88 LIBDIR ?=       $(INSTALL_PREFIX)/usr/lib
89
90 INSTALL_LIB =   install -m 755 $(NAME) $(LIBDIR)/$(NAME); \
91                 /sbin/ldconfig
92
93 EXTRA_OBJS =    # nothing
94
95 MAKEDEPEND =    makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
96
97 all:            all2
98 install:        install2
99 clean:          clean2
100
101 else
102 ifeq ($(OS), win32)
103
104 NAME ?=         $(PLUGIN_NAME).dll
105
106 CFLAGS_ADD +=   -mno-cygwin -I../../src/win32 -DWIN32
107 CFLAGS_ADD2 +=  # nothing
108 LDFLAGS_ADD +=  -mno-cygwin -Wl,-soname,$(NAME)
109
110 CFLAGS_SET +=   # nothing
111 LDFLAGS_SET +=  # nothing
112
113 LIBS ?=         -lws2_32
114
115 INSTALL_LIB =   cp $(NAME) ../..
116
117 EXTRA_OBJS =    ../../src/win32/compat.o
118
119 MAKEDEPEND =    makedepend -f $(DEPFILE) $(CFLAGS_ADD) $(INCLUDES) $(SRCS)
120
121 all:            all2
122 install:        install2
123 clean:          clean2
124
125 else
126
127 all:            help
128 install:        help
129 clean:          help
130
131 endif
132 endif
133 endif
134
135 CFLAGS ?=       $(CFLAGS_SET)
136 LDFLAGS ?=      $(LDFLAGS_SET)
137
138 CFLAGS          += $(CFLAGS_ADD) $(CFLAGS_ADD2)
139 LDFLAGS         += $(LDFLAGS_ADD)
140
141 all2:           $(NAME)
142
143 $(NAME):        $(OBJS) $(EXTRA_OBJS)
144                 $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(EXTRA_OBJS) $(LIBS)
145
146 install2:       $(NAME)
147                 $(STRIP) $(NAME)
148                 $(INSTALL_LIB)
149
150 clean2:
151                 rm -f $(OBJS) $(NAME) $(DEPFILE)
152
153 $(DEPFILE):     $(SRCS) $(HDRS)
154 ifdef MAKEDEPEND
155                 echo "# Generated automatically. DO NOT EDIT." >$(DEPFILE)
156                 $(MAKEDEPEND)
157 endif
158
159 help:
160                 @echo
161                 @echo '                     * * * *  olsr.org Plugin Make  * * * *'
162                 @echo
163                 @echo '  Plugin: $(PLUGIN_NAME), version $(PLUGIN_VER)'
164                 @echo
165                 @echo '  You must provide a valid target OS by setting the OS variable.'
166                 @echo
167                 @echo '  Valid settings are:'
168                 @echo
169                 @echo '    linux - GNU/Linux'
170                 @echo '    win32 - Microsoft Windows'
171                 @echo '    fbsd  - FreeBSD'
172                 @echo
173                 @echo '  Example - Build on Windows:'
174                 @echo
175                 @echo '    make OS=win32'
176                 @echo
177                 @echo '  Example - Build and install on Linux:'
178                 @echo
179                 @echo '    make OS=linux install            '
180                 @echo
181
182 sinclude $(DEPFILE)