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.
5 # All configuration should be performed with help of shell script
6 # `wsconfigs.sh' (see can-edit sections).
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:
18 # Minimum Wireshark Version - This should match the README file.
20 MIN_WIRESHARK_VERSION=1.6.8
22 # Installation directory of the Wireshark source code
23 # Note: Leave the macro undefined when using the wsbuild script.
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
32 # Note: When using the cbuild script leave the macro undefined
33 # (default: /usr/lib/wireshark/plugins/$(WS_VERSION))
35 # For non-root and non-rpmbuilds you might want to set the value to
36 # ${HOME}/.wireshark/plugins
39 CFLAGS = -DINET6 -D_U_=__attribute__\(\(unused\)\) -Wall -Wpointer-arith -g \
40 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -fPIC -DPIC
43 #INCS = $(shell echo "-I${WS_HOME} `./wsconfig.sh --libs --cflags glib-2.0`")
44 INCS := $(shell echo "-I${WS_HOME} $(PLUGIN_COMPILE_FLAGS)") -DHAVE_CONFIG_H
47 INCS := $(shell ./wsconfig.sh --libs --cflags wireshark) \
48 $(shell ./wsconfig.sh --libs --cflags glib-2.0) \
50 $(shell echo "$(PLUGIN_COMPILE_FLAGS)") -DHAVE_CONFIG_H
51 WS_VERSION := $(shell ./wsconfig.sh --modversion wireshark)
52 LIBDIR := $(shell ./wsconfig.sh --variable=libdir wireshark)
53 CHECK=./wsconfig.sh --atleast-version=${MIN_WIRESHARK_VERSION} wireshark
58 SRCS_LNET = packet-lnet.c
59 SRCS_LUSTRE = packet-lustre.c
63 OBJS_LNET := $(foreach src, $(SRCS_LNET), $(src:.c=.o))
64 OBJS_LUSTRE := $(foreach src, $(SRCS_LUSTRE), $(src:.c=.o))
66 PLUGINS=lnet.so lustre.so
72 ifneq ($(shell id -u), 0)
74 PLUGIN_DIR = ${HOME}/.wireshark/plugins
81 $(error "WS_HOME not defined")
83 WS_CONFIG=$(WS_HOME)/config.h
84 WS_VERSION:=$(shell sed "s/^.define[[:space:]]*VERSION[[:space:]]*\"\(.*\)\"/\1/p;d" ${WS_CONFIG})
87 ifeq ($(shell if [ -r /etc/SuSE-release ] ; then echo 0; else echo 1; fi ), 0)
93 PLUGIN_DIR = $(DESTDIR)$(LIBDIR)/wireshark/plugins/$(WS_VERSION)
97 all: check $(PLUGINS) lustre_dlm_flags_wshark.c
99 lustre_dlm_flags_wshark.c :
100 cd ../../../contrib/bit-masks ; \
102 test -f lustre_dlm_flags_wshark.c
105 @if ! ${CHECK}; then\
106 echo "Wireshark must be at least version ${MIN_WIRESHARK_VERSION} (installed ${WS_VERSION})";\
110 lustre.so: $(OBJS_LUSTRE)
111 $(CC) -shared $(OBJS_LUSTRE) -o $@
113 lnet.so: $(OBJS_LNET)
114 $(CC) -shared $(OBJS_LNET) -o $@
117 mkdir -p $(PLUGIN_DIR)
118 install $(PLUGINS) $(PLUGIN_DIR)/
121 @echo "Includes: "$(INCS)
122 @echo "Install Dir: "$(PLUGIN_DIR)
125 rm -f $(PLUGINS) $(OBJS_LNET) $(OBJS_LUSTRE)
128 (cd $(PLUGIN_DIR)/; rm -f $(PLUGINS))
130 .PHONEY: check help install extraclean clean all