Commit ead1d4e1 authored by Sam Ravnborg's avatar Sam Ravnborg

[PATCH] kbuild: Moved conmakehash to scripts

- Suggested by David Miller to avoid a race with make -j
Furthermore cleaned up a little in scripts/Makefile
- Use $(obj)
- Added a few comments
parent d572f1a5
...@@ -209,12 +209,10 @@ obj-$(CONFIG_AGP) += agp/ ...@@ -209,12 +209,10 @@ obj-$(CONFIG_AGP) += agp/
obj-$(CONFIG_DRM) += drm/ obj-$(CONFIG_DRM) += drm/
obj-$(CONFIG_PCMCIA) += pcmcia/ obj-$(CONFIG_PCMCIA) += pcmcia/
host-progs := conmakehash
include $(TOPDIR)/Rules.make include $(TOPDIR)/Rules.make
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE)
$(obj)/conmakehash $< > $@ $(call do_cmd,CONMK $(echo_target),$(objtree)/scripts/conmakehash $< > $@)
$(obj)/defkeymap.o: $(obj)/defkeymap.c $(obj)/defkeymap.o: $(obj)/defkeymap.c
......
...@@ -119,12 +119,10 @@ obj-$(CONFIG_FBCON_HGA) += fbcon-hga.o ...@@ -119,12 +119,10 @@ obj-$(CONFIG_FBCON_HGA) += fbcon-hga.o
obj-$(CONFIG_FBCON_STI) += fbcon-sti.o obj-$(CONFIG_FBCON_STI) += fbcon-sti.o
obj-$(CONFIG_FBCON_ACCEL) += fbcon-accel.o obj-$(CONFIG_FBCON_ACCEL) += fbcon-accel.o
host-progs := ../char/conmakehash
include $(TOPDIR)/Rules.make include $(TOPDIR)/Rules.make
$(obj)/promcon_tbl.c: $(src)/prom.uni $(obj)/../char/conmakehash $(obj)/promcon_tbl.c: $(src)/prom.uni
$(obj)/../char/conmakehash $< | \ $(objtree)/scripts/conmakehash $< | \
sed -e '/#include <[^>]*>/p' -e 's/types/init/' \ sed -e '/#include <[^>]*>/p' -e 's/types/init/' \
-e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@ -e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@
###
# 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
# The following temporary rule will make sure that people's # The following temporary rule will make sure that people's
# trees get updated to the right permissions, since patch(1) # trees get updated to the right permissions, since patch(1)
# can't do it # can't do it
CHMOD_FILES := kernel-doc mkcompile_h makelst CHMOD_FILES := kernel-doc mkcompile_h makelst
all: fixdep split-include docproc $(CHMOD_FILES) all: fixdep split-include docproc conmakehash $(CHMOD_FILES)
$(CHMOD_FILES): FORCE host-progs := fixdep split-include conmakehash docproc tkparse
@chmod a+x $@ tkparse-objs := tkparse.o tkcond.o tkgen.o
# xconfig include $(TOPDIR)/Rules.make
# ---------------------------------------------------------------------------
HEADER=header.tk $(CHMOD_FILES): FORCE
TAIL=tail.tk @chmod a+x $@
# 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.
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 $@' @echo ' Generating $@'
@( \ @( \
if [ -f /usr/local/bin/wish ]; then \ if [ -f /usr/local/bin/wish ]; then \
echo '#!'"/usr/local/bin/wish -f"; \ echo '#!'"/usr/local/bin/wish -f"; \
else \ else \
echo '#!'"/usr/bin/wish -f"; \ echo '#!'"/usr/bin/wish -f"; \
fi; \ fi; \
cat $(HEADER); \ cat $(src)/header.tk; \
./tkparse < $<; \ $(obj)/tkparse < $<; \
echo "set defaults \"arch/${ARCH}/defconfig\""; \ echo "set defaults \"arch/${ARCH}/defconfig\""; \
echo "set ARCH \"${ARCH}\""; \ echo "set ARCH \"${ARCH}\""; \
cat $(TAIL) \ cat $(src)/tail.tk; \
) > $@ ) > $@
chmod 755 $@ @chmod 755 $@
# ---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
# Targets hardcoded and wellknow in top-level makefile
.PHONY: lxdialog .PHONY: lxdialog
lxdialog: lxdialog:
$(MAKE) -C lxdialog all $(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 # 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
include $(TOPDIR)/Rules.make
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment