add _GNU_SOURCE to CPPFLAGS required to include <bits/socket.h> on recent eglibc...
[openwrt-10.03/.git] / package / wprobe / Makefile
index 89f0450f02ad26d0c9e859c23f662a315d37f219..536a85eb2a7294424a901e4d6dd927cb295b7813 100644 (file)
@@ -10,12 +10,17 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=wprobe
 PKG_VERSION:=1
 
-PKG_BUILD_DEPENDS:=libnl libipfix
+PKG_BUILD_DEPENDS:=PACKAGE_wprobe-export:libipfix
+
+PKG_CONFIG_DEPENDS = \
+       CONFIG_PACKAGE_kmod-wprobe \
+       CONFIG_PACKAGE_wprobe-export \
 
 include $(INCLUDE_DIR)/package.mk
 
 define KernelPackage/wprobe
   SUBMENU:=Network Support
+  DEPENDS:=@LINUX_2_6
   TITLE:=Wireless driver probe infrastructure
   FILES:= \
        $(PKG_BUILD_DIR)/kernel/wprobe.$(LINUX_KMOD_SUFFIX)
@@ -26,22 +31,22 @@ 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
   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
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+kmod-wprobe
+  DEPENDS:=+wprobe-util
   TITLE:=Wireless measurement data exporter
 endef
 
@@ -55,18 +60,23 @@ define Build/Prepare
        $(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 +84,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,20 +106,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
+       $(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))