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/
obj-$(CONFIG_DRM) += drm/
obj-$(CONFIG_PCMCIA) += pcmcia/
host-progs := conmakehash
include $(TOPDIR)/Rules.make
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash
$(obj)/conmakehash $< > $@
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE)
$(call do_cmd,CONMK $(echo_target),$(objtree)/scripts/conmakehash $< > $@)
$(obj)/defkeymap.o: $(obj)/defkeymap.c
......
......@@ -119,12 +119,10 @@ obj-$(CONFIG_FBCON_HGA) += fbcon-hga.o
obj-$(CONFIG_FBCON_STI) += fbcon-sti.o
obj-$(CONFIG_FBCON_ACCEL) += fbcon-accel.o
host-progs := ../char/conmakehash
include $(TOPDIR)/Rules.make
$(obj)/promcon_tbl.c: $(src)/prom.uni $(obj)/../char/conmakehash
$(obj)/../char/conmakehash $< | \
$(obj)/promcon_tbl.c: $(src)/prom.uni
$(objtree)/scripts/conmakehash $< | \
sed -e '/#include <[^>]*>/p' -e 's/types/init/' \
-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
# trees get updated to the right permissions, since patch(1)
# can't do it
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
@chmod a+x $@
host-progs := fixdep split-include conmakehash docproc tkparse
tkparse-objs := tkparse.o tkcond.o tkgen.o
# xconfig
# ---------------------------------------------------------------------------
include $(TOPDIR)/Rules.make
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.
$(CHMOD_FILES): FORCE
@chmod a+x $@
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
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