X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/26c5a541b58cce78b978e1ead03945dbc522484d..004baf12d334716fec9228f6d8563cc3af786f83:/package/wprobe/Makefile

diff --git a/package/wprobe/Makefile b/package/wprobe/Makefile
index 7fccaa2ba..379aa37c2 100644
--- a/package/wprobe/Makefile
+++ b/package/wprobe/Makefile
@@ -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,9 +60,12 @@ define Build/Prepare
 	$(CP) src/* $(PKG_BUILD_DIR)/
 endef
 
-TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
+TARGET_CPPFLAGS := \
+	-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)" \
 		ARCH="$(LINUX_KARCH)" \
@@ -66,7 +74,8 @@ define Build/Compile/kmod
 		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 +83,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 +105,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))