summaryrefslogtreecommitdiffstats
path: root/scripts/config/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/config/Makefile')
-rw-r--r--scripts/config/Makefile49
1 files changed, 49 insertions, 0 deletions
diff --git a/scripts/config/Makefile b/scripts/config/Makefile
new file mode 100644
index 000000000..04e8330a0
--- /dev/null
+++ b/scripts/config/Makefile
@@ -0,0 +1,49 @@
+# ===========================================================================
+# Kernel configuration targets
+# These targets are used from top-level makefile
+
+# ===========================================================================
+# Shared Makefile for the various kconfig executables:
+# conf: Used for defconfig, oldconfig and related targets
+# mconf: Used for the mconfig target.
+# Utilizes the lxdialog package
+# object files used by all kconfig flavours
+
+conf-objs := conf.o zconf.tab.o
+mconf-objs := mconf.o zconf.tab.o
+
+clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \
+ .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c
+
+all: conf mconf lxdialog
+
+.PHONY: lxdialog
+lxdialog:
+ $(MAKE) -C lxdialog
+
+conf: $(conf-objs)
+mconf: $(mconf-objs)
+
+clean:
+ rm -f *.o $(clean-files) conf mconf
+ $(MAKE) -C lxdialog clean
+
+zconf.tab.o: lex.zconf.c zconf.hash.c
+
+kconfig_load.o: lkc_defs.h
+
+lkc_defs.h: $(src)/lkc_proto.h
+ sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
+
+zconf.tab.c: zconf.y
+lex.zconf.c: zconf.l
+zconf.hash.c: zconf.gperf
+
+%.tab.c: %.y
+ bison -l -b $* -p $(notdir $*) $< && cp $@ $@_shipped || cp $@_shipped $@
+
+lex.%.c: %.l
+ flex -L -P$(notdir $*) -o$@ $< && cp $@ $@_shipped || cp $@_shipped $@
+
+%.hash.c: %.gperf
+ gperf < $< > $@ && cp $@ $@_shipped || cp $@_shipped $@