scripts/addToolsVersion: properly handle .in vs. .in.2
While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).
Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.
So, for each tool, we need to explicitly know what file to munge.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2 # Makefile for crosstool-NG.
3 # Copyright 2006 Yann E. MORIN <yann.morin.1998@free.fr>
5 # Don't print directory as we descend into them
6 # Don't use built-in rules, we know what we're doing
7 MAKEFLAGS += --no-print-directory --no-builtin-rules
12 # This is where ct-ng is:
13 export CT_NG:=$(lastword $(MAKEFILE_LIST))
14 # and this is where we're working in:
15 export CT_TOP_DIR:=$(shell pwd)
17 # Paths and values set by ./configure
18 # Don't bother to change it other than with a new ./configure!
19 export CT_LIB_DIR:=@@CT_LIBDIR@@
20 export CT_DOC_DIR:=@@CT_DOCDIR@@
22 # This is crosstool-NG version string
23 export CT_VERSION:=@@CT_VERSION@@
25 # Paths found by ./configure
26 include $(CT_LIB_DIR)/paths.mk
28 # Some distributions (eg. Ubuntu) thought it wise to point /bin/sh to
29 # a truly POSIX-conforming shell, ash in this case. This is not so good
30 # as we, smart (haha!) developers (as smart we ourselves think we are),
31 # got used to bashisms, and are enclined to easiness... So force use of
35 # GREP_OPTIONS=--color=always will break the generated .in files
36 # We do not need any GREP_OPTIONS anyway, so set it to empty.
39 # Make the restart/stop steps availabe to scripts/crostool-NG.sh
40 export CT_STOP:=$(STOP)
41 export CT_RESTART:=$(RESTART)
45 ifeq ($(strip $(origin V)),command line)
46 ifeq ($(strip $(V)),0)
50 ifeq ($(strip $(V)),1)
54 ifeq ($(strip $(V)),2)
70 help:: help-head help-config help-samples help-build help-clean help-distrib help-env help-tail
73 @echo 'See below for a list of available actions, listed by category:'
77 @echo 'Configuration actions:'
81 @echo 'Preconfigured toolchains (#: force number of // jobs):'
85 @echo 'Build actions (#: force number of // jobs):'
89 @echo 'Clean actions:'
93 @echo 'Distribution actions:'
97 @echo 'Environment variables (see @@CT_DOCDIR@@/0 - Table of content.txt):'
101 @echo 'Use action "menuconfig" to configure your toolchain'
102 @echo 'Use action "build" to build your toolchain'
103 @echo 'Use action "version" to see the version'
104 @echo 'See "man 1 $(notdir $(CT_NG))" for some help as well'
107 @echo ' build[.#] - Build the currently configured toolchain'
110 @echo ' clean - Remove generated files'
111 @echo ' distclean - Remove generated files, configuration and build directories'
113 include $(CT_LIB_DIR)/config/config.mk
114 include $(CT_LIB_DIR)/kconfig/kconfig.mk
115 include $(CT_LIB_DIR)/steps.mk
116 include $(CT_LIB_DIR)/samples/samples.mk
117 include $(CT_LIB_DIR)/scripts/scripts.mk
120 @echo ' show-tuple - Print the tuple of the currently configured toolchain'
123 @echo ' tarball - Build a tarball of the configured toolchain'
126 @echo ' V=0|1|2 - 0 => show only human-readable messages (default)'
127 @echo ' 1 => show only the commands being executed'
128 @echo ' 2 => show both'
133 @echo "There is no existing .config file!"
134 @echo "You need to either run 'menuconfig',"
135 @echo "or configure an existing sample."
139 $(SILENT)$(sed) -r -e 's/^([^=]+_ARRAY)="(.*)"$$/\1=( \2 )/;' \
140 -e '/^[^=]+_ARRAY=/s/\\(.)/\1/g;' \
143 show-tuple: .config.2
144 $(SILENT)$(bash) $(CT_LIB_DIR)/scripts/showTuple.sh
148 $(SILENT)$(CT_LIB_DIR)/scripts/crosstool-NG.sh
151 $(SILENT)$(MAKE) -rf $(CT_NG) $(shell echo "$(@)" |$(sed) -r -e 's|^([^.]+)\.([[:digit:]]+)$$|\1 CT_JOBS=\2|;')
155 # @$(CT_LIB_DIR)/scripts/tarball.sh
157 @echo 'Tarball creation disabled for now... Sorry.'
162 @echo 'This is crosstool-NG version $(CT_VERSION)'
164 @echo 'Copyright (C) 2008 Yann E. MORIN <yann.morin.1998@free.fr>'
165 @echo 'This is free software; see the source for copying conditions.'
166 @echo 'There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A'
167 @echo 'PARTICULAR PURPOSE.'
172 @$(ECHO) " CLEAN log"
173 $(SILENT)rm -f build.log .config.* ..config*
177 @$(ECHO) " CLEAN .config"
178 $(SILENT)rm -f .config .config.* ..config*
179 @$(ECHO) " CLEAN build dir"
180 $(SILENT)[ ! -d targets ] || chmod -R u+w targets
181 $(SILENT)[ ! -d .build ] || chmod -R u+w .build
182 $(SILENT)rm -rf targets .build