diff options
Diffstat (limited to 'scripts/Makefile')
| -rw-r--r-- | scripts/Makefile | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/scripts/Makefile b/scripts/Makefile index 0416b0f86137..054afe4ef069 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -1,8 +1,15 @@ - -# always needed +### +# scripts contains sources for various helper programs used throughout +# the kernel for the build process. # --------------------------------------------------------------------------- +# fix-dep: Used to generate dependency information during build process +# split-include: Divide all config symbols up in a number of files in +# include/config/... +# docproc: Preprocess .tmpl file in order to generate .sgml documentation +# conmakehash: Create arrays for initializing the kernel console tables +# tkparse: Used by xconfig -all: fixdep split-include docproc __chmod +all: fixdep split-include docproc conmakehash __chmod # The following temporary rule will make sure that people's # trees get updated to the right permissions, since patch(1) @@ -14,47 +21,45 @@ all: fixdep split-include docproc __chmod __chmod: kernel-doc mkcompile_h makelst @chmod a+x $^ -# xconfig -# --------------------------------------------------------------------------- +host-progs := fixdep split-include conmakehash docproc tkparse +tkparse-objs := tkparse.o tkcond.o tkgen.o -HEADER=header.tk -TAIL=tail.tk -# Previous versions always remade kconfig.tk because they always depended -# on soundscript. This runs fairly fast, and I can't find all the -# Config.in files to depend on anyways. So I'll force it to remake. +include $(TOPDIR)/Rules.make -kconfig.tk: $(TOPDIR)/arch/$(ARCH)/config.in tkparse $(HEADER) $(TAIL) FORCE +# In reality kconfig.tk should depend on all Config.in files, +# but it is not worth the effort to generate the dependencies. +# The alternative solution to always generate it is fairly fast. +# FORCE it to remake +$(obj)/kconfig.tk: $(srctree)/arch/$(ARCH)/config.in tkparse FORCE @echo ' Generating $@' @( \ - if [ -f /usr/local/bin/wish ]; then \ + if [ -f /usr/local/bin/wish ]; then \ echo '#!'"/usr/local/bin/wish -f"; \ - else \ + else \ echo '#!'"/usr/bin/wish -f"; \ - fi; \ - cat $(HEADER); \ - ./tkparse < $<; \ - echo "set defaults \"arch/${ARCH}/defconfig\""; \ - echo "set ARCH \"${ARCH}\""; \ - cat $(TAIL) \ + fi; \ + cat $(src)/header.tk; \ + $(obj)/tkparse < $<; \ + echo "set defaults \"arch/${ARCH}/defconfig\""; \ + echo "set ARCH \"${ARCH}\""; \ + cat $(src)/tail.tk; \ ) > $@ - chmod 755 $@ + @chmod 755 $@ -# --------------------------------------------------------------------------- +# --------------------------------------------------------------------------- +# Targets hardcoded and wellknow in top-level makefile .PHONY: lxdialog - lxdialog: $(MAKE) -C lxdialog all -# --------------------------------------------------------------------------- - -host-progs := fixdep split-include docproc tkparse - -tkparse-objs := tkparse.o tkcond.o tkgen.o - # fixdep is needed to compile other host programs +$(obj)/split-include $(obj)/docproc $(addprefix $(obj)/,$(tkparse-objs)) \ +$(obj)/conmakehash lxdialog: $(obj)/fixdep -split-include docproc $(tkparse-objs) lxdialog: fixdep - +mrproper: + @echo 'Making mrproper (scripts)' + @rm -f $(tkparse-objs) $(obj)/kconfig.tk + @rm -f core $(host-progs) + @$(MAKE) -C lxdialog mrproper -include $(TOPDIR)/Rules.make |
