Update this powerpc sample.
/trunk/samples/powerpc-unknown-linux-gnu/crosstool.config | 161 84 77 0 +++++++++++----------
/trunk/samples/powerpc-unknown-linux-gnu/reported.by | 1 1 0 0 +
2 files changed, 85 insertions(+), 77 deletions(-)
1 # ===========================================================================
2 # crosstool-NG genererated config files
3 # These targets are used from top-level makefile
5 #-----------------------------------------------------------
6 # List all config files, wether sourced or generated
8 # The top-level config file to be used be configurators
9 KCONFIG_TOP = config/config.in
11 # Build the list of all source config files
12 STATIC_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(shell find $(CT_LIB_DIR)/config -type f -name '*.in' 2>/dev/null))
13 # ... and how to access them:
14 $(STATIC_CONFIG_FILES): config
16 # Build a list of per-component-type source config files
17 ARCH_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/arch/*.in))
18 KERNEL_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/kernel/*.in))
19 CC_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/cc/*.in))
20 LIBC_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/libc/*.in))
21 DEBUG_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/debug/*.in))
22 TOOL_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/tools/*.in))
24 # Build the list of generated config files
25 GEN_CONFIG_FILES = config.gen/arch.in \
26 config.gen/kernel.in \
31 # ... and how to access them:
32 # Generated files depends on config.mk (this file) because it has the
33 # functions needed to build the genrated files, and thus they might
34 # need re-generation if config.mk changes
35 $(GEN_CONFIG_FILES): config.gen \
36 $(CT_LIB_DIR)/config/config.mk
38 # Helper entry for the configurators
40 config_files: $(STATIC_CONFIG_FILES) $(GEN_CONFIG_FILES)
42 # Where to access to the source config files from
45 $(SILENT)ln -s $(CT_LIB_DIR)/config config
47 # Where to store the generated config files into
49 @$(ECHO) " MKDIR config.gen"
50 $(SILENT)mkdir -p config.gen
52 #-----------------------------------------------------------
53 # Build list of per-component-type items to easily build generated files
55 ARCHS = $(patsubst config/arch/%.in,%,$(ARCH_CONFIG_FILES))
56 KERNELS = $(patsubst config/kernel/%.in,%,$(KERNEL_CONFIG_FILES))
57 CCS = $(patsubst config/cc/%.in,%,$(CC_CONFIG_FILES))
58 LIBCS = $(patsubst config/libc/%.in,%,$(LIBC_CONFIG_FILES))
59 DEBUGS = $(patsubst config/debug/%.in,%,$(DEBUG_CONFIG_FILES))
60 TOOLS = $(patsubst config/tools/%.in,%,$(TOOL_CONFIG_FILES))
62 #-----------------------------------------------------------
63 # Helper functions to ease building generated config files
65 # The function 'build_gen_choice_in' builds a choice-menu of a list of
66 # components in the given list, also adding source-ing of associazted
68 # $1 : destination file
69 # $2 : name for the entries family (eg. Architecture, kernel...)
70 # $3 : prefix for the choice entries (eg. ARCH, KERNEL...)
71 # $4 : base directory containing config files
72 # $5 : list of config entries (eg. for architectures: "alpha arm ia64"...,
73 # and for kernels: "bare-metal linux"...)
74 # Example to build the kernels generated config file:
75 # $(call build_gen_choice_in,config.gen/kernel.in,Target OS,KERNEL,config/kernel,$(KERNELS))
76 define build_gen_choice_in
78 $(SILENT)(echo "# $(2) menu"; \
79 echo "# Generated file, do not edit!!!"; \
83 echo " prompt \"$(2)\""; \
85 for entry in $(5); do \
86 file="$(4)/$${entry}.in"; \
87 _entry=$$(echo "$${entry}" |sed -r -s -e 's/[-.+]/_/g;'); \
88 echo "config $(3)_$${_entry}"; \
90 printf " prompt \"$${entry}"; \
91 if grep -E '^# +EXPERIMENTAL$$' $${file} >/dev/null 2>&1; then \
92 echo " (EXPERIMENTAL)\""; \
93 echo " depends on EXPERIMENTAL"; \
100 for entry in $(5); do \
101 file="$(4)/$${entry}.in"; \
102 _entry=$$(echo "$${entry}" |sed -r -s -e 's/[-.+]/_/g;'); \
104 echo "if $(3)_$${_entry}"; \
105 echo "config $(3)"; \
106 echo " default \"$${entry}\" if $(3)_$${_entry}"; \
107 echo "source $${file}"; \
113 # The function 'build_gen_menu_in' builds a menuconfig for each component in
114 # the given list, source-ing the associated files conditionnaly:
115 # $1 : destination file
116 # $2 : name of entries family (eg. Tools, Debug...)
117 # $3 : prefix for the menu entries (eg. TOOL, DEBUG)
118 # $4 : base directory containing config files
119 # $5 : list of config entries (eg. for tools: "libelf sstrip"..., and for
120 # debug: "dmalloc duma gdb"...)
121 # Example to build the tools generated config file:
122 # $(call build_gen_menu_in,config.gen/tools.in,Tools,TOOL,config/tools,$(TOOLS))
123 define build_gen_menu_in
125 $(SILENT)(echo "# $(2) facilities menu"; \
126 echo "# Generated file, do not edit!!!"; \
128 for entry in $(5); do \
129 file="$(4)/$${entry}.in"; \
130 _entry=$$(echo "$${entry}" |sed -r -s -e 's/[-.+]/_/g;'); \
131 echo "menuconfig $(3)_$${_entry}"; \
133 printf " prompt \"$${entry}"; \
134 if grep -E '^# +EXPERIMENTAL$$' $${file} >/dev/null 2>&1; then \
135 echo " (EXPERIMENTAL)\""; \
136 echo " depends on EXPERIMENTAL"; \
140 echo "if $(3)_$${_entry}"; \
141 echo "source $${file}"; \
148 #-----------------------------------------------------------
149 # The rules for the generated config files
151 config.gen/arch.in: $(ARCH_CONFIG_FILES)
152 $(call build_gen_choice_in,$@,Target Architecture,ARCH,config/arch,$(ARCHS))
154 config.gen/kernel.in: $(KERNEL_CONFIG_FILES)
155 $(call build_gen_choice_in,$@,Target OS,KERNEL,config/kernel,$(KERNELS))
157 config.gen/cc.in: $(CC_CONFIG_FILES)
158 $(call build_gen_choice_in,$@,C compiler,CC,config/cc,$(CCS))
160 config.gen/libc.in: $(LIBC_CONFIG_FILES)
161 $(call build_gen_choice_in,$@,C library,LIBC,config/libc,$(LIBCS))
163 config.gen/tools.in: $(TOOL_CONFIG_FILES)
164 $(call build_gen_menu_in,$@,Tools,TOOL,config/tools,$(TOOLS))
166 config.gen/debug.in: $(DEBUG_CONFIG_FILES)
167 $(call build_gen_menu_in,$@,Debug,DEBUG,config/debug,$(DEBUGS))
169 #-----------------------------------------------------------
170 # Cleaning up the mess...
173 @$(ECHO) " CLEAN config"
174 $(SILENT)rm -f config 2>/dev/null || true
175 @$(ECHO) " CLEAN config.gen"
176 $(SILENT)rm -rf config.gen