Whamcloud - gitweb
LU-3409 llite: silence lockdep warning in ll_md_blocking_ast
[fs/lustre-release.git] / lustre / contrib / wireshark / Makefile
1 # Makefile to create the Lustre/LNet plugins for Wireshark.
2 # It is intended to be used by script `wsbuild´ that will buil
3 # a RPM for wireshark and a separate RPM for the Lustre/LNet plugins.
4 #
5 # All configuration should be performed with help of shell script
6 # `wsconfigs.sh' (see can-edit sections).
7 #
8 # When using as a stand-alone makefile, set the macros WS_HOME,
9 # PLUGIN_DIR and PLUGIN_COMPILE_FLAGS to the values associated with
10 # your wireshark installation.
11 # Alternatively modify `wsconfigs.sh´ accordingly to your wireshar
12 # installation, source wsconfigs.sh and build with help of:
13 #
14 #      make -e -f Makefile
15 #
16
17 #
18 # Minimum Wireshark Version - This should match the README file.
19 #
20 MIN_WIRESHARK_VERSION=1.6.8
21
22 # Installation directory of the Wireshark source code
23 #    Note: Leave the macro undefined when using the wsbuild script.
24 #
25 # WS_HOME =
26 WS_HOME = 
27
28 # Installation directory for the (compiled) Wireshark plugins
29 #    Change the value of the following macro to the installation directory
30 #    of the Wireshark plugins for your installation 
31 #
32 #    Note: When using the cbuild script leave the macro undefined
33 #    (default: /usr/lib/wireshark/plugins/$(WS_VERSION))
34 #
35 #    For non-root and  non-rpmbuilds you might want to set the value to ${HOME}/.wireshark/plugins
36 PLUGIN_DIR =
37
38 CFLAGS = -DINET6 -D_U_=__attribute__\(\(unused\)\) -Wall -Wpointer-arith -g -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -fPIC -DPIC
39
40 ifdef WS_HOME
41 #INCS = $(shell echo "-I${WS_HOME} `pkg-config --libs --cflags glib-2.0`")
42 INCS = $(shell echo "-I${WS_HOME} $(PLUGIN_COMPILE_FLAGS)") -DHAVE_CONFIG_H 
43
44 else
45 INCS = $(shell pkg-config --libs --cflags wireshark) $(shell echo "$(PLUGIN_COMPILE_FLAGS)") -DHAVE_CONFIG_H
46 WS_VERSION = $(shell pkg-config --modversion wireshark)
47 LIBDIR = $(shell pkg-config --variable=libdir wireshark)
48 CHECK=pkg-config --atleast-version=${MIN_WIRESHARK_VERSION} wireshark
49 endif
50
51 CFLAGS += $(INCS)
52
53 SRCS_LNET = packet-lnet.c
54 SRCS_LUSTRE = packet-lustre.c
55
56 CC   = gcc
57
58 OBJS_LNET = $(foreach src, $(SRCS_LNET), $(src:.c=.o))
59 OBJS_LUSTRE = $(foreach src, $(SRCS_LUSTRE), $(src:.c=.o))
60
61 PLUGINS=lnet.so lustre.so
62
63 ifeq (${CHECK},)
64        CHECK=true
65 endif
66
67 ifneq ($(shell id -u), 0)
68   ifndef DESTDIR
69     PLUGIN_DIR = ${HOME}/.wireshark/plugins
70   endif
71 endif
72
73 ifndef PLUGIN_DIR
74   ifndef WS_VERSION
75     ifndef WS_HOME
76       $(error "WS_HOME not defined")
77     endif
78     WS_CONFIG=$(WS_HOME)/config.h
79     WS_VERSION:=$(shell sed "s/^.define[[:space:]]*VERSION[[:space:]]*\"\(.*\)\"/\1/p;d" ${WS_CONFIG})
80   endif
81   ifeq (${LIBDIR},)
82     ifeq ($(shell if [ -r /etc/SuSE-release ] ; then echo 0; else echo 1; fi ), 0)
83       LIBDIR=/usr/lib64
84     else
85       LIBDIR=/usr/lib
86     endif
87   endif
88   PLUGIN_DIR = $(DESTDIR)$(LIBDIR)/wireshark/plugins/$(WS_VERSION)
89 endif
90
91
92 all: check $(PLUGINS)
93
94 check:
95         @if ! ${CHECK}; then\
96                 echo "Wireshark must be at least version ${MIN_WIRESHARK_VERSION} (installed ${WS_VERSION})";\
97                 false; \
98         fi
99
100 lustre.so: $(OBJS_LUSTRE)
101         $(CC) -shared $(OBJS_LUSTRE) -o $@
102
103 lnet.so: $(OBJS_LNET)
104         $(CC) -shared $(OBJS_LNET) -o $@
105
106 install: all
107         mkdir -p $(PLUGIN_DIR)
108         install $(PLUGINS) $(PLUGIN_DIR)/
109
110 help:
111         @echo "Includes:    "$(INCS)
112         @echo "Install Dir: "$(PLUGIN_DIR)
113
114 clean:
115         rm -f $(PLUGINS) $(OBJS_LNET) $(OBJS_LUSTRE)
116
117 extraclean: clean
118         (cd $(PLUGIN_DIR)/; rm -f $(PLUGINS))
119
120 .PHONEY: check help install extraclean clean all