OSDN Git Service

Added support for Touch Revolution touch-screens.
[android-x86/kernel.git] / Android.mk
index f8af84c..a1f319c 100644 (file)
@@ -53,22 +53,30 @@ else
 KERNELRELEASE := $(shell $(MAKE) -sC $(KERNEL_DIR) O=$(KBUILD_OUTPUT) ARCH=$(TARGET_ARCH) kernelrelease)
 KERNEL_MODULES_DEP := $(TARGET_OUT)/lib/modules/$(KERNELRELEASE)/modules.dep
 endif
-$(KERNEL_MODULES_DEP): $(INSTALLED_KERNEL_TARGET)
+$(TARGET_OUT_INTERMEDIATES)/%.kmodule: $(INSTALLED_KERNEL_TARGET)
+       $(hide) cp -an $(EXTRA_KERNEL_MODULE_PATH_$*) $(TARGET_OUT_INTERMEDIATES)/$*.kmodule
+       @echo Building additional kernel module $*
+       $(mk_kernel) M=$(CURDIR)/$@ modules
+
+$(KERNEL_MODULES_DEP): $(INSTALLED_KERNEL_TARGET) $(patsubst %,$(TARGET_OUT_INTERMEDIATES)/%.kmodule,$(TARGET_EXTRA_KERNEL_MODULES))
        $(hide) rm -rf $(TARGET_OUT)/lib/modules
        $(mk_kernel) INSTALL_MOD_PATH=$(CURDIR)/$(TARGET_OUT) modules_install
+       + $(hide) for kmod in $(TARGET_EXTRA_KERNEL_MODULES) ; do \
+               echo Installing additional kernel module $${kmod} ; \
+               $(subst +,,$(subst $(hide),,$(mk_kernel))) INSTALL_MOD_PATH=$(CURDIR)/$(TARGET_OUT) M=$(CURDIR)/$(TARGET_OUT_INTERMEDIATES)/$${kmod}.kmodule modules_install ; \
+       done
        $(hide) rm -f $(TARGET_OUT)/lib/modules/*/{build,source}
 endif
 
 # rules to get source of Broadcom 802.11a/b/g/n hybrid device driver
 # based on broadcomsetup.sh of Kyle Evans
-WL_ENABLED := $(shell grep ^CONFIG_WL=[my] $(KERNEL_CONFIG_FILE))
+WL_ENABLED := $(shell grep ^CONFIG_WL=[my] $(KERNEL_DOTCONFIG_FILE))
 WL_PATH := drivers/net/wireless/wl
 WL_SRC := $(KERNEL_DIR)/$(WL_PATH)/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz
 $(WL_SRC):
        @echo Downloading $(@F)...
-       $(hide) curl http://www.broadcom.com/docs/linux_sta/$(@F) > $@ && tar zxf $@ -C $(@D) --overwrite && (cd $(KERNEL_DIR); git checkout $(WL_PATH)) && \
-               sed -i '/<linux\/wireless.h>/ a#include <linux/semaphore.h>' $(@D)/src/wl/sys/wl_iw.h && \
-               sed -i 's/init_MUTEX(&wl->sem)/\n#ifndef init_MUTEX\nsema_init(\&wl->sem,1)\n#else\ninit_MUTEX(\&wl->sem)\n#endif\n/' $(@D)/src/wl/sys/wl_linux.c
+       $(hide) curl http://www.broadcom.com/docs/linux_sta/$(@F) > $@ && tar zxf $@ -C $(@D) --overwrite && \
+       (cd kernel/$(WL_PATH); patch Makefile < Makefile.patch; patch src/wl/sys/wl_iw.h < wl_iw.h.patch)
 $(INSTALLED_KERNEL_TARGET): $(if $(WL_ENABLED),$(WL_SRC))
 
 installclean: FILES += $(KBUILD_OUTPUT) $(INSTALLED_KERNEL_TARGET)