fix potential build errors when changing the qc-usb package selection
[openwrt/openwrt.git] / package / qc-usb / Makefile
index a28d439867e7c13a33604b7188b9c41ee906bb08..47afc8c28bbb7ff151d09e46cd3a00e34af3f8ec 100644 (file)
@@ -4,7 +4,7 @@
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
+# $Id$
 
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
@@ -19,46 +19,54 @@ PKG_MD5SUM:=6f6787e1dda11ca3b936ad434154f426
 
 include $(INCLUDE_DIR)/package.mk
 
+define Package/qc-usb/Default
+  URL:=http://qce-ga.sourceforge.net/
+endef
+
 define Package/qc-usb-utils
+$(call Package/qc-usb/Default)
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Utility programs for the qc-usb kernel module
-  DESCRIPTION:=\
-       Utilities to tweak parameters of your QuickCam Express or \\\
-       similar webcam. These programs are completely useless without a \\\
-       qc-usb-modules package.
-  URL:=http://qce-ga.sourceforge.net/
 endef
 
-define KernelPackage/usb-qc
-  TITLE:=Support for USB QuickCam Express webcam
-  DESCRIPTION:=\
-       Kernel support for Logitech's QuickCam Express webcam and \\\
-       other webcams with similar chipsets.
-  SUBMENU:=USB Support
-  DEPENDS:=@LINUX_2_6 @USB_SUPPORT @VIDEO_SUPPORT kmod-usb-core +kmod-videodev
+define Package/qc-usb-utils/description
+ Utilities to tweak parameters of your QuickCam Express or similar webcam. 
+ These programs are completely useless without a qc-usb-modules package.
+endef
+
+define KernelPackage/video-quickcam
+$(call Package/qc-usb/Default)
+  SUBMENU:=Video Support
+  TITLE:=QuickCam Express USB webcam support
+  DEPENDS:=@USB_SUPPORT +kmod-usb-core kmod-video-core
   FILES:=$(PKG_BUILD_DIR)/quickcam.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,90,quickcam)
 endef
 
-ifneq ($(CONFIG_PACKAGE_kmod-usb-qc),)
-  define Build/Compile/kmod
-       $(MAKE) -C $(LINUX_DIR) \
-               PATH="$(TARGET_PATH)" \
-                KVER="$(LINUX_VERSION)" \
-               KERNELRELEASE="$(LINUX_VERSION)" \
-                KSRC="$(LINUX_DIR)" \
-                SUBDIRS="$(PKG_BUILD_DIR)" \
-                KERNEL_DIR="$(KERNEL_DIR)" \
-                ARCH="$(LINUX_KARCH)" \
-                CROSS_COMPILE="$(TARGET_CROSS)" \
-               modules
-  endef
+define KernelPackage/video-quickcam/description
+ Kernel support for Logitech's QuickCam Express webcam and other webcams 
+ with similar chipsets.
+endef
+
+ifeq ($(KERNEL),2.4)
+  ifeq ($(LINUX_KARCH),i386)
+    KERNEL_C_OPTS:= -Os -mpreferred-stack-boundary=2 -march=i486 -fno-unit-at-a-time
+  endif
+  ifeq ($(LINUX_KARCH),mips)
+    KERNEL_C_OPTS:= -Os -G 0 -mlong-calls -mno-abicalls -fno-pic -finline-limit=100000 -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap
+  endif
 endif
 
 define Build/Compile
-       $(call Build/Compile/kmod)
-
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               LINUX_DIR="$(LINUX_DIR)" \
+               ARCH="$(LINUX_KARCH)" \
+               CROSS_COMPILE="$(TARGET_CROSS)" \
+               CC="$(TARGET_CC)" \
+               LD="$(TARGET_CC) -nodefaultlibs -nostartfiles" \
+               USER_OPT="$(KERNEL_C_OPTS)" \
+               quickcam.$(LINUX_KMOD_SUFFIX)
        $(MAKE) -C $(PKG_BUILD_DIR) \
                CFLAGS="$(TARGET_CFLAGS)" \
                qcset
@@ -70,4 +78,4 @@ define Package/qc-usb-utils/install
 endef
 
 $(eval $(call BuildPackage,qc-usb-utils))
-$(eval $(call KernelPackage,usb-qc))
+$(eval $(call KernelPackage,video-quickcam))