don't run mdev on hotplug pseudo-events that come from user space
[openwrt.git] / include / host-build.mk
index c19cb8f..ea7cd3a 100644 (file)
@@ -4,15 +4,13 @@
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-OS:=$(shell uname)
-ifneq ($(strip $(PKG_CAT)),)
-  ifeq ($(PKG_CAT),unzip)
-    UNPACK=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE)
-  else
-    UNPACK=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) -
-  endif
+
+include $(INCLUDE_DIR)/host.mk
+include $(INCLUDE_DIR)/unpack.mk
+
+ifneq ($(strip $(PKG_UNPACK)),)
   define Build/Prepare/Default
-       $(UNPACK)
+       $(PKG_UNPACK)
        @if [ -d ./patches ]; then \
                $(PATCH) $(PKG_BUILD_DIR) ./patches; \
        fi
@@ -75,6 +73,15 @@ ifneq ($(strip $(PKG_SOURCE)),)
 endif
 
 define HostBuild
+  ifeq ($(DUMP),)
+    ifeq ($(CONFIG_AUTOREBUILD),y)
+      ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) . $(PKG_FILE_DEPEND)),$(PKG_BUILD_DIR))
+        $$(info Forcing package rebuild)
+        $(PKG_BUILD_DIR)/.prepared: package-clean
+      endif
+    endif
+  endif
+  
   $(PKG_BUILD_DIR)/.prepared:
        @-rm -rf $(PKG_BUILD_DIR)
        @mkdir -p $(PKG_BUILD_DIR)
@@ -91,10 +98,11 @@ define HostBuild
 
   $(STAGING_DIR)/stampfiles/.host_$(PKG_NAME)-installed: $(PKG_BUILD_DIR)/.built
        $(call Build/Install)
+       mkdir -p $$(shell dirname $$@)
        touch $$@
        
   ifdef Build/Install
-    install-targets: $(STAGING_DIR)/stampfiles/.host_$(PKG_NAME)-installed
+    install: $(STAGING_DIR)/stampfiles/.host_$(PKG_NAME)-installed
   endif
 
   package-clean: FORCE
@@ -105,16 +113,9 @@ define HostBuild
   download:
   prepare: $(PKG_BUILD_DIR)/.prepared
   configure: $(PKG_BUILD_DIR)/.configured
-
-  compile-targets: $(PKG_BUILD_DIR)/.built
-  compile: compile-targets
-
-  install-targets:
-  install: install-targets
-
-  clean-targets:
+  compile: $(PKG_BUILD_DIR)/.built 
+  install:
   clean: FORCE
-       @$(MAKE) clean-targets
        $(call Build/Clean)
        rm -rf $(PKG_BUILD_DIR)