Whamcloud - gitweb
LU-5552 llite: make sure we do cl_page_clip on the last page
[fs/lustre-release.git] / lustre / contrib / wireshark / Makefile
index 5c215ff..885319f 100644 (file)
 #      make -e -f Makefile
 #
 
+#
+# Minimum Wireshark Version - This should match the README file.
+#
+MIN_WIRESHARK_VERSION=1.6.8
 
 # Installation directory of the Wireshark source code
 #    Note: Leave the macro undefined when using the wsbuild script.
@@ -28,16 +32,25 @@ WS_HOME =
 #    Note: When using the cbuild script leave the macro undefined
 #    (default: /usr/lib/wireshark/plugins/$(WS_VERSION))
 #
-#    For non-root and  non-rpmbuilds you might want to set the value to ${HOME}/.wireshark/plugins
+#    For non-root and  non-rpmbuilds you might want to set the value to
+#        ${HOME}/.wireshark/plugins
 PLUGIN_DIR =
 
-CFLAGS = -DINET6 -D_U_=__attribute__\(\(unused\)\) -Wall -Wpointer-arith -g -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -fPIC -DPIC
+CFLAGS = -DINET6 -D_U_=__attribute__\(\(unused\)\) -Wall -Wpointer-arith -g \
+       -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -fPIC -DPIC
 
 ifdef WS_HOME
-#INCS = $(shell echo "-I${WS_HOME} `pkg-config --libs --cflags glib-2.0`")
-INCS = $(shell echo "-I${WS_HOME} $(PLUGIN_COMPILE_FLAGS)") -DHAVE_CONFIG_H 
+#INCS = $(shell echo "-I${WS_HOME} `./wsconfig.sh --libs --cflags glib-2.0`")
+INCS := $(shell echo "-I${WS_HOME} $(PLUGIN_COMPILE_FLAGS)") -DHAVE_CONFIG_H 
+
 else
-INCS = $(shell pkg-config --libs --cflags wireshark) $(shell echo "$(PLUGIN_COMPILE_FLAGS)")
+INCS := $(shell ./wsconfig.sh --libs --cflags wireshark) \
+       $(shell ./wsconfig.sh --libs --cflags glib-2.0) \
+       -I../../include \
+       $(shell echo "$(PLUGIN_COMPILE_FLAGS)") -DHAVE_CONFIG_H
+WS_VERSION := $(shell ./wsconfig.sh --modversion wireshark)
+LIBDIR := $(shell ./wsconfig.sh --variable=libdir wireshark)
+CHECK=./wsconfig.sh --atleast-version=${MIN_WIRESHARK_VERSION} wireshark
 endif
 
 CFLAGS += $(INCS)
@@ -47,11 +60,15 @@ SRCS_LUSTRE = packet-lustre.c
 
 CC   = gcc
 
-OBJS_LNET = $(foreach src, $(SRCS_LNET), $(src:.c=.o))
-OBJS_LUSTRE = $(foreach src, $(SRCS_LUSTRE), $(src:.c=.o))
+OBJS_LNET := $(foreach src, $(SRCS_LNET), $(src:.c=.o))
+OBJS_LUSTRE := $(foreach src, $(SRCS_LUSTRE), $(src:.c=.o))
 
 PLUGINS=lnet.so lustre.so
 
+ifeq (${CHECK},)
+       CHECK=true
+endif
+
 ifneq ($(shell id -u), 0)
   ifndef DESTDIR
     PLUGIN_DIR = ${HOME}/.wireshark/plugins
@@ -65,31 +82,49 @@ ifndef PLUGIN_DIR
     endif
     WS_CONFIG=$(WS_HOME)/config.h
     WS_VERSION:=$(shell sed "s/^.define[[:space:]]*VERSION[[:space:]]*\"\(.*\)\"/\1/p;d" ${WS_CONFIG})
-   endif
-   ifeq ($(shell if [ -r /etc/SuSE-release ] ; then echo 0; else echo 1; fi ), 0)
-     PLUGIN_DIR = $(DESTDIR)/usr/lib64/wireshark/plugins/$(WS_VERSION)
-   else
-     PLUGIN_DIR = $(DESTDIR)/usr/lib/wireshark/plugins/$(WS_VERSION)
-  endif 
+  endif
+  ifeq (${LIBDIR},)
+    ifeq ($(shell if [ -r /etc/SuSE-release ] ; then echo 0; else echo 1; fi ), 0)
+      LIBDIR=/usr/lib64
+    else
+      LIBDIR=/usr/lib
+    endif
+  endif
+  PLUGIN_DIR = $(DESTDIR)$(LIBDIR)/wireshark/plugins/$(WS_VERSION)
 endif
 
 
-all: $(PLUGINS)
+all: check $(PLUGINS) lustre_dlm_flags_wshark.c
+
+lustre_dlm_flags_wshark.c :
+       cd ../../../contrib/bit-masks ; \
+       make
+       test -f lustre_dlm_flags_wshark.c
+
+check:
+       @if ! ${CHECK}; then\
+               echo "Wireshark must be at least version ${MIN_WIRESHARK_VERSION} (installed ${WS_VERSION})";\
+               false; \
+       fi
 
 lustre.so: $(OBJS_LUSTRE)
-       @echo "Running $(INCS)"
        $(CC) -shared $(OBJS_LUSTRE) -o $@
 
 lnet.so: $(OBJS_LNET)
-       @echo $(INCS)
        $(CC) -shared $(OBJS_LNET) -o $@
 
-install: $(PLUGINS)
+install: all
        mkdir -p $(PLUGIN_DIR)
        install $(PLUGINS) $(PLUGIN_DIR)/
 
+help:
+       @echo "Includes:    "$(INCS)
+       @echo "Install Dir: "$(PLUGIN_DIR)
+
 clean:
        rm -f $(PLUGINS) $(OBJS_LNET) $(OBJS_LUSTRE)
 
 extraclean: clean
        (cd $(PLUGIN_DIR)/; rm -f $(PLUGINS))
+
+.PHONEY: check help install extraclean clean all