- touch $(PKG_BUILD_DIR)/.installed
-
-$(IPKG_KMOD_FUSE): $(IDIR_KMOD_FUSE)/CONTROL/control $(PKG_BUILD_DIR)/.installed
- mkdir -p $(IDIR_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)
- cp -fpR $(PKG_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.o \
- $(IDIR_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)/
- mkdir -p $(PACKAGE_DIR)
- $(IPKG_BUILD) $(IDIR_KMOD_FUSE) $(PACKAGE_DIR)
-
-$(IPKG_LIBFUSE): $(IDIR_LIBFUSE)/CONTROL/control $(PKG_BUILD_DIR)/.installed
- mkdir -p $(IDIR_LIBFUSE)/usr/lib
- cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libfuse.so.* $(IDIR_LIBFUSE)/usr/lib/
- chmod 0644 $(IDIR_LIBFUSE)/usr/lib/lib*.so*
- $(RSTRIP) $(IDIR_LIBFUSE)
- mkdir -p $(PACKAGE_DIR)
- $(IPKG_BUILD) $(IDIR_LIBFUSE) $(PACKAGE_DIR)
-
-$(IPKG_FUSE_UTILS): $(IDIR_FUSE_UTILS)/CONTROL/control $(PKG_BUILD_DIR)/.installed
- mkdir -p $(IDIR_FUSE_UTILS)/usr/bin
- cp -fpR $(PKG_INSTALL_DIR)/usr/bin/fusermount $(IDIR_FUSE_UTILS)/usr/bin/
- $(RSTRIP) $(IDIR_FUSE_UTILS)
- mkdir -p $(PACKAGE_DIR)
- $(IPKG_BUILD) $(IDIR_FUSE_UTILS) $(PACKAGE_DIR)
-
-$(STAGING_DIR)/usr/lib/libfuse.so: $(PKG_BUILD_DIR)/.installed
- mkdir -p $(STAGING_DIR)/usr/include
- cp -fpR $(PKG_INSTALL_DIR)/usr/include/fuse* $(STAGING_DIR)/usr/include/
- mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
- cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libfuse.{a,so*} $(STAGING_DIR)/usr/lib/
- cp -fpR $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(STAGING_DIR)/usr/lib/pkgconfig/
-
-install-dev: $(STAGING_DIR)/usr/lib/libfuse.so
-
-uninstall-dev:
- rm -rf $(STAGING_DIR)/usr/include/fuse*
- rm -rf $(STAGING_DIR)/usr/lib/libfuse.{a,so*}
- rm -rf $(STAGING_DIR)/usr/lib/pkgconfig/fuse.pc
-
-install: install-dev
-clean: uninstall-dev
+endef
+
+define Build/Prepare
+ @echo "--> Build/Prepare enter"
+ $(call Build/Prepare/fuse24)
+ $(call Build/Patch/fuse24)
+ $(call Build/Prepare/Default)
+ @echo "--> Build/Prepare leave"
+endef
+
+define Build/Configure
+ @echo "--> Build/Configure enter"
+ $(call Build/Configure/fuse24)
+ $(call Build/Configure/Default)
+ @echo "--> Build/Configure leave"
+endef
+
+define Build/Compile
+ @echo "--> Build/Compile enter"
+ $(call Build/Compile/fuse24)
+ $(call Build/Compile/Default)
+ @echo "--> Build/Compile leave"
+endef
+
+define Build/Install
+ @echo "--> Build/Install enter"
+ $(call Build/Install/fuse24)
+ $(call Build/Install/Default)
+ @echo "--> Build/Install leave"
+endef
+
+endif
+####### FUSE24 - END ######
+
+define Build/InstallDev
+ @echo "--> Build/InstallDev enter"
+ mkdir -p $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/{fuse,*.h} $(1)/usr/include/
+ mkdir -p $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} $(1)/usr/lib/
+ mkdir -p $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(1)/usr/lib/pkgconfig/
+ $(SED) 's,-I$$$${includedir}/fuse,,g' $(1)/usr/lib/pkgconfig/fuse.pc
+ $(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/fuse.pc
+ @echo "--> Build/InstallDev leave"
+endef
+
+define Package/fuse-utils/install
+ @echo "--> Package/fuse-utils/install enter"
+ $(INSTALL_DIR) $(1)/usr/bin
+ # use cp and keep fusermount sticky bit
+ $(FIND) $(PKG_INSTALL_DIR)/usr/bin/ -type f -exec $(CP) -a {} $(1)/usr/bin/ \;
+ @echo "--> Package/fuse-utils/install leave"
+endef
+
+define Package/libfuse/install
+ @echo "--> Package/libfuse/install enter"
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
+ @echo "--> Package/libfuse/install leave"
+endef
+
+define Package/kmod-fuse/install
+ @echo "--> Package/kmod-fuse/install enter/leave"
+endef
+
+$(eval $(call BuildPackage,fuse-utils))
+$(eval $(call BuildPackage,libfuse))
+$(eval $(call KernelPackage,fuse))