libjson-c: add to core (instead of packages)
[openwrt.git] / package / wprobe / Makefile
index 7fccaa2..1986cfa 100644 (file)
@@ -1,5 +1,5 @@
-# 
-# Copyright (C) 2008 OpenWrt.org
+#
+# Copyright (C) 2008-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,16 +9,31 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=wprobe
 PKG_VERSION:=1
+PKG_RELEASE:=1
+
+PKG_BUILD_DEPENDS:=PACKAGE_wprobe-export:libipfix
 
-PKG_BUILD_DEPENDS:=libnl libipfix
+PKG_CONFIG_DEPENDS = \
+       CONFIG_PACKAGE_kmod-wprobe \
+       CONFIG_PACKAGE_wprobe-export \
 
 include $(INCLUDE_DIR)/package.mk
 
+# XXX: build failure on cris
+# wprobe-lib.c:145: error: 'packed' attribute ignored for field of type 'struct <anonymous>'
+# wprobe-lib.c:149: error: 'packed' attribute ignored for field of type 'struct <anonymous>'
+
+define Package/wprobe/Default
+  DEPENDS:=@(!(TARGET_ps3||TARGET_pxcab||cris)||BROKEN)
+endef
+
 define KernelPackage/wprobe
+$(call Package/wprobe/Default)
   SUBMENU:=Network Support
   TITLE:=Wireless driver probe infrastructure
+  MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
   FILES:= \
-       $(PKG_BUILD_DIR)/kernel/wprobe.$(LINUX_KMOD_SUFFIX)
+       $(PKG_BUILD_DIR)/kernel/wprobe.ko
   AUTOLOAD:=$(call AutoLoad,01,wprobe)
 endef
 
@@ -26,22 +41,24 @@ define KernelPackage/wprobe/description
   A module that exports measurement data from wireless driver to user space
 endef
 
-define Package/wprobe-info
+define Package/wprobe-util
+$(call Package/wprobe/Default)
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+kmod-wprobe
+  DEPENDS+=+kmod-wprobe +libnl-tiny
   TITLE:=Wireless measurement utility
 endef
 
-define Package/wprobe-info/description
-  wprobe-info uses the wprobe kernel module to query
+define Package/wprobe-util/description
+  wprobe-util uses the wprobe kernel module to query
   wireless driver measurement data from an interface
 endef
 
 define Package/wprobe-export
+$(call Package/wprobe/Default)
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+kmod-wprobe
+  DEPENDS+=+wprobe-util
   TITLE:=Wireless measurement data exporter
 endef
 
@@ -50,23 +67,32 @@ define Package/wprobe-export/description
   wireless driver measurement data via the IPFIX protocol
 endef
 
+define Package/wprobe-export/conffiles
+/etc/config/wprobe
+endef
+
 define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
        $(CP) src/* $(PKG_BUILD_DIR)/
 endef
 
-TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
+TARGET_CPPFLAGS := \
+       -D_GNU_SOURCE \
+       -I$(STAGING_DIR)/usr/include/libnl-tiny \
+       $(TARGET_CPPFLAGS)
 
-define Build/Compile/kmod
+ifdef CONFIG_PACKAGE_kmod-wprobe
+  define Build/Compile/kmod
        $(MAKE) -C $(LINUX_DIR) \
-               CROSS_COMPILE="$(TARGET_CROSS)" \
+               CROSS_COMPILE="$(KERNEL_CROSS)" \
                ARCH="$(LINUX_KARCH)" \
                SUBDIRS="$(PKG_BUILD_DIR)/kernel" \
                KERNELDIR=$(LINUX_DIR) \
                CC="$(TARGET_CC)" \
                EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/kernel" \
                modules
-endef
+  endef
+endif
 
 define Build/Compile/lib
        $(MAKE) -C $(PKG_BUILD_DIR)/user \
@@ -74,17 +100,20 @@ define Build/Compile/lib
                CFLAGS="$(TARGET_CFLAGS)" \
                CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PKG_BUILD_DIR)/kernel" \
                LDFLAGS="$(TARGET_LDFLAGS)" \
-               LIBNL="$(STAGING_DIR)/usr/lib/libnl.a"
+               HOST_OS=Linux \
+               LIBNL="-lnl-tiny"
 endef
 
-define Build/Compile/exporter
+ifdef CONFIG_PACKAGE_wprobe-export
+  define Build/Compile/exporter
        $(MAKE) -C $(PKG_BUILD_DIR)/exporter \
                $(TARGET_CONFIGURE_OPTS) \
                CFLAGS="$(TARGET_CFLAGS)" \
                CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PKG_BUILD_DIR)/kernel -I$(PKG_BUILD_DIR)/user" \
                LDFLAGS="$(TARGET_LDFLAGS)" \
-               LIBS="$(PKG_BUILD_DIR)/user/libwprobe.a $(STAGING_DIR)/usr/lib/libipfix.a $(STAGING_DIR)/usr/lib/libmisc.a $(STAGING_DIR)/usr/lib/libnl.a -lm"
-endef
+               LIBS="$(PKG_BUILD_DIR)/user/libwprobe.a $(STAGING_DIR)/usr/lib/libipfix.a $(STAGING_DIR)/usr/lib/libmisc.a -lnl-tiny -lm"
+  endef
+endif
 
 define Build/Compile
        $(Build/Compile/kmod)
@@ -93,21 +122,22 @@ define Build/Compile
 endef
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_BUILD_DIR)/kernel/linux $(1)/usr/include
+       $(INSTALL_DIR) $(1)/usr/include/wprobe
+       $(CP) $(PKG_BUILD_DIR)/kernel/linux $(1)/usr/include/wprobe
 endef
 
-define Package/wprobe-info/install
+define Package/wprobe-util/install
        $(INSTALL_DIR) $(1)/sbin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/user/wprobe-info $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/user/wprobe-util $(1)/sbin/
 endef
 
 define Package/wprobe-export/install
-       $(INSTALL_DIR) $(1)/sbin $(1)/etc/init.d
-       $(INSTALL_BIN) ./files/wprobe.init $(1)/etc/init.d/
+       $(INSTALL_DIR) $(1)/sbin $(1)/etc/init.d $(1)/etc/config
+       $(INSTALL_BIN) ./files/wprobe.init $(1)/etc/init.d/wprobe
+       $(INSTALL_BIN) ./files/wprobe.config $(1)/etc/config/wprobe
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/exporter/wprobe-export $(1)/sbin/
 endef
 
 $(eval $(call KernelPackage,wprobe))
-$(eval $(call BuildPackage,wprobe-info))
+$(eval $(call BuildPackage,wprobe-util))
 $(eval $(call BuildPackage,wprobe-export))
This page took 0.032135 seconds and 4 git commands to generate.