summaryrefslogtreecommitdiff
path: root/v4l/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'v4l/Makefile')
-rw-r--r--v4l/Makefile78
1 files changed, 34 insertions, 44 deletions
diff --git a/v4l/Makefile b/v4l/Makefile
index b8eba1a44..6f86925a6 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -244,66 +244,56 @@ reload::
#################################################
# Configuration rules
-# SHELL used by kbuild
-CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
- else if [ -x /bin/bash ]; then echo /bin/bash; \
- else echo sh; fi ; fi)
-
-build := srctree=$(KDIR) HOSTCXX="$(CXX)" HOSTCC="$(HOSTCC)" CONFIG_SHELL="$(CONFIG_SHELL)" -f $(KDIR)/scripts/Makefile.build obj
-
-xconfig:: links .version
- -if [ ! -f $(KDIR)/scripts/kconfig/qconf ]; then \
- $(MAKE) -C $(KDIR) $(build)=scripts/kconfig qconf-target=1 scripts/kconfig/qconf; \
- fi
+# Kernel config programs
+QCONF := $(KDIR)/scripts/kconfig/qconf
+GCONF := $(KDIR)/scripts/kconfig/gconf
+MCONF := $(KDIR)/scripts/kconfig/mconf
+CONF := $(KDIR)/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)
+LXDIALOG_LNK := $(if $(LXDIALOG_DIR),scripts/kconfig,scripts/lxdialog)
+LXDIALOG := $(KDIR)/scripts/$(LXDIALOG_DIR)lxdialog/lxdialog
+
+xconfig:: links .version $(QCONF)
./scripts/make_kconfig.pl
- $(KDIR)/scripts/kconfig/qconf Kconfig
+ $(QCONF) Kconfig
./scripts/make_noconfig.pl
-gconfig:: links .version
- -if [ ! -f $(KDIR)/scripts/kconfig/gconf ]; then \
- $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/gconf; \
- fi
+gconfig:: links .version $(GCONF)
./scripts/make_kconfig.pl
- $(KDIR)/scripts/kconfig/gconf Kconfig
+ $(QCONF) Kconfig
./scripts/make_noconfig.pl
-config:: links .version
- -if [ ! -f $(KDIR)/scripts/kconfig/conf ]; then \
- $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/conf; \
- fi
+config:: links .version $(CONF)
./scripts/make_kconfig.pl
- $(KDIR)/scripts/kconfig/conf Kconfig
+ $(CONF) Kconfig
./scripts/make_noconfig.pl
-menuconfig:: links .version
+menuconfig:: links .version $(MCONF) lxdialog
./scripts/make_kconfig.pl
- -rm scripts/lxdialog scripts/kconfig
- -if [ -d $(KDIR)/scripts/lxdialog ]; then \
- if [ ! -f $(KDIR)/scripts/lxdialog/lxdialog ]; then \
- $(MAKE) -C $(KDIR) $(build)=scripts/lxdialog; \
- fi; \
- ln -s $(KDIR)/scripts/lxdialog scripts/lxdialog; \
- fi
-
- -if [ -d $(KDIR)/scripts/kconfig ]; then \
- if [ -d $(KDIR)/scripts/kconfig/lxdialog ]; then \
- if [ ! -f $(KDIR)/scripts/kconfig/lxdialog ]; then \
- $(MAKE) -C $(KDIR) $(build)=scripts/kconfig/lxdialog; \
- fi; \
- fi; \
- if [ ! -f $(KDIR)/scripts/kconfig/mconf ]; then \
- $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/mconf; \
- fi; \
- ln -s $(KDIR)/scripts/kconfig scripts/kconfig; \
- fi
-
- $(KDIR)/scripts/kconfig/mconf Kconfig
+ $(MCONF) Kconfig
./scripts/make_noconfig.pl
allyesconfig allmodconfig:: links .version
./scripts/make_kconfig.pl 1
./scripts/make_noconfig.pl
+# 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 $@)
+
+# lxdialog has two parts, a symlink and the actual binary
+.PHONY: lxdialog
+lxdialog: $(LXDIALOG) $(LXDIALOG_LNK)
+
+$(LXDIALOG_LNK):
+ ln -snf $(KDIR)/$(LXDIALOG_LNK) $(LXDIALOG_LNK)
+
+$(LXDIALOG):
+ $(MAKE) -C $(KDIR) -f $(PWD)/Makefile.kernel $(KMAKEVARS) v4l-$(LXDIALOG)
+
#################################################
# IVTV link rules