summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--v4l/Makefile28
1 files changed, 16 insertions, 12 deletions
diff --git a/v4l/Makefile b/v4l/Makefile
index 325c01ca9..932e61da2 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -16,15 +16,19 @@ else
ifneq ($(SRCDIR),)
KDIR := $(SRCDIR)
+KDIR_OBJ := $(SRCDIR)
+
else
ifneq ($(KERNELRELEASE),)
-KDIR := /lib/modules/$(KERNELRELEASE)/build
+KDIR_BASE := /lib/modules/$(KERNELRELEASE)
else
-KDIR := /lib/modules/$(shell uname -r|perl -ne 'if (/^([0-9]*)\.([0-9])*\.([0-9]*)(.*)$$/) { printf ("%s.%s.%s%s\n",$$1,$$2,$$3,$$4); };')/build
-
+KDIR_BASE := /lib/modules/$(shell uname -r|perl -ne 'if (/^([0-9]*)\.([0-9])*\.([0-9]*)(.*)$$/) { printf ("%s.%s.%s%s\n",$$1,$$2,$$3,$$4); };')
endif
+KDIR := $(KDIR_BASE)/source
+KDIR_OBJ := $(KDIR_BASE)/build
endif
+
endif
#################################################
@@ -32,7 +36,7 @@ endif
default:: config-compat.h Makefile.media links $(obj)/.version oss
@if [ "x$(SRCDIR)" != x ]; then echo SRCDIR is $(SRCDIR) ; fi
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules
+ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $(MYCFLAGS) O=$(KDIR_OBJ) modules
./scripts/rmmod.pl check
#################################################
# Object specific rules
@@ -287,10 +291,10 @@ debug::
# Configuration rules
# Kernel config programs
-QCONF := $(KDIR)/scripts/kconfig/qconf
-GCONF := $(KDIR)/scripts/kconfig/gconf
-MCONF := $(KDIR)/scripts/kconfig/mconf
-CONF := $(KDIR)/scripts/kconfig/conf
+QCONF := $(KDIR_OBJ)/scripts/kconfig/qconf
+GCONF := $(KDIR_OBJ)/scripts/kconfig/gconf
+MCONF := $(KDIR_OBJ)/scripts/kconfig/mconf
+CONF := $(KDIR_OBJ)/scripts/kconfig/conf
# lxdialog can be in either scripts/lxdialog or scripts/kconfig/lxdialog
LXDIALOG_DIR := $(shell if [ -d $(KDIR)/scripts/kconfig/lxdialog ]; then echo kconfig/ ; fi)
@@ -309,10 +313,10 @@ endif
$(obj)/.config: $(obj)/.version
@echo Updating/Creating .config
@if [ -e $(obj)/.config ]; then touch $(obj)/.config ; else \
- ./scripts/make_kconfig.pl $(KDIR) ; fi
+ ./scripts/make_kconfig.pl $(KDIR_OBJ) ; fi
$(obj)/Kconfig: $(obj)/.version
- ./scripts/make_kconfig.pl $(KDIR)
+ ./scripts/make_kconfig.pl $(KDIR_OBJ)
# With make -j, it's possible that both the .config and Kconfig rules
# will run at the same time, running make_kconfig.pl twice. There
@@ -332,12 +336,12 @@ menuconfig:: $(MCONF) lxdialog $(obj)/Kconfig
$(MCONF) $(obj)/Kconfig
allyesconfig allmodconfig:: $(obj)/.version
- ./scripts/make_kconfig.pl $(KDIR) 1
+ ./scripts/make_kconfig.pl $(KDIR_OBJ) 1
# rule to build kernel conf programs
KMAKEVARS := config-targets=1 mixed-targets=0 dot-config=0
$(QCONF) $(GCONF) $(MCONF) $(CONF):
- $(MAKE) -C $(KDIR) -f $(PWD)/Makefile.kernel $(KMAKEVARS) v4l-$(notdir $@)
+ $(MAKE) -C $(KDIR_OBJ) -f $(PWD)/Makefile.kernel $(KMAKEVARS) v4l-$(notdir $@)
# lxdialog has two parts, a symlink and the actual binary
.PHONY: lxdialog