diff options
-rw-r--r-- | v4l/Makefile | 28 |
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 |