From Sludgy Madrill, 8 Years ago, written in Plain Text.
Embed
  1. include $(TOPDIR)/rules.mk
  2.  
  3. PKG_NAME:=wireshark
  4. PKG_VERSION:=2.4.0
  5. PKG_RELEASE:=1
  6.  
  7. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
  8. PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
  9. PKG_SOURCE_URL:=https://code.wireshark.org/review/wireshark
  10. PKG_SOURCE_PROTO:=git
  11. PKG_SOURCE_VERSION:=wireshark-2.4.0
  12. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
  13.  
  14. CC="$(TARGET_CC)"
  15.  
  16. include $(INCLUDE_DIR)/package.mk
  17. include $(INCLUDE_DIR)/nls.mk
  18.  
  19. define Package/wireshark
  20.   SECTION:=net
  21.   CATEGORY:=Network
  22.   TITLE:=wireshark
  23.   DEPENDS:=+libpcap +libgcrypt +glib2 +libiconv-full +libpthread
  24. endef
  25.  
  26. #PKG_FIXUP:=autoreconf
  27.  
  28. #TARGET_CFLAGS += -D_GNU_SOURCE -fPIC thread.c -static -lpthread -lc -lgcc_eh \
  29.  
  30. TARGET_CFLAGS += -D_GNU_SOURCE -fPIC \
  31.         -I$(STAGING_DIR)/usr/lib/libintl/include \
  32.         -I$(STAGING_DIR)/usr/libiconv/include \
  33.         -I$(STAGING_DIR)/usr/include/pcap
  34.  
  35. TARGET_LDFLAGS += -ldl \
  36.         -L$(STAGING_DIR)/usr/lib/libintl/lib \
  37.         -L$(STAGING_DIR)/usr/lib/libiconv/lib \
  38.         -L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib -Wl,-rpath=$(TOOLCHAIN_DIR)/lib
  39.  
  40. define Package/wireshark/description
  41.  wireshark captures network traffic
  42. endef
  43.  
  44. define Build/Configure
  45.         cd $(PKG_BUILD_DIR) && CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" ./autogen.sh \
  46.         --host=$(ARCH) --target=$(GNU_TARGET_NAME) $(TARGET_CONFIGURE_OPTS) \
  47.         && CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" ./configure \
  48.         --host=$(ARCH) --target=$(GNU_TARGET_NAME) $(TARGET_CONFIGURE_OPTS) \
  49.         --enable-wireshark=no \
  50.         --enable-tshark=yes \
  51.         --enable-editcap=no \
  52.         --enable-capinfos=no \
  53.         --enable-captype=no \
  54.         --enable-mergecap=no \
  55.         --enable-reordercap=no \
  56.         --enable-text2pcap=no \
  57.         --enable-dftest=no \
  58.         --enable-randpkt=no \
  59.         --enable-rawshark=no \
  60.         --enable-sharkd=no \
  61.         --enable-androiddump=no \
  62.         --enable-randpktdump=no \
  63.         --enable-udpdump=no \
  64.         --with-pcap=$(STAGING_DIR)/usr \
  65.         --with-lua=no \
  66.         --with-plugins=no
  67. endef
  68.  
  69. define Build/Compile
  70.         $(MAKE) -C $(PKG_BUILD_DIR)/tools/lemon CC_FOR_BUILD="$(HOSTCC)"
  71.         touch $(PKG_BUILD_DIR)/version.h
  72.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/wsutil
  73.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/wiretap
  74.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/caputils
  75.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/ui/cli
  76.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/ui
  77.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/writecap
  78.         $(MAKE) -j9 -C $(PKG_BUILD_DIR) dumpcap
  79.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/capchild
  80.         $(MAKE) -j9 -C $(PKG_BUILD_DIR)/epan STAGING_DIR_HOST=$(STAGING_DIR_HOST)
  81.         $(MAKE) -j9 -C $(PKG_BUILD_DIR) tshark LIBS="$(STAGING_DIR)/usr/lib/libpcap.a $(ICONV_PREFIX)/lib/libiconv.a"
  82. endef
  83.  
  84. define Package/wireshark/install
  85.         $(INSTALL_DIR) $(1)/usr/sbin
  86.         $(INSTALL_BIN) $(PKG_BUILD_DIR)/dumpcap $(1)/usr/sbin/dumpcap
  87.         $(INSTALL_BIN) $(PKG_BUILD_DIR)/tshark $(1)/usr/sbin/tshark
  88. endef
  89.  
  90. $(eval $(call BuildPackage,wireshark))