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 configuration targets
3 # These targets are used from top-level makefile
5 # Derive the project version from, well, the project version:
6 export PROJECTVERSION=$(CT_VERSION)
8 # The place where the kconfig stuff lies
11 #-----------------------------------------------------------
12 # The configurators rules
14 configurators = menuconfig oldconfig
15 PHONY += $(configurators)
17 $(configurators): config_files
19 menuconfig: $(obj)/mconf
20 @$(ECHO) " CONF $(KCONFIG_TOP)"
21 $(SILENT)$< $(KCONFIG_TOP)
23 oldconfig: $(obj)/conf .config
24 @$(ECHO) " CONF $(KCONFIG_TOP)"
25 $(SILENT)$< -s $(KCONFIG_TOP)
27 #-----------------------------------------------------------
28 # Help text used by make help
31 @echo ' menuconfig - Update current config using a menu based program'
32 @echo ' oldconfig - Update current config using a provided .config as base'
34 #-----------------------------------------------------------
36 # Or: where I can unveil my make-fu... :-]
38 # Oh! Files not here are there, in fact! :-)
39 vpath %.c $(CT_LIB_DIR)
40 vpath %.h $(CT_LIB_DIR)
42 # What is the compiler?
43 HOST_CC ?= gcc -funsigned-char
47 check_gettext = $(CT_LIB_DIR)/kconfig/check-gettext.sh
48 check_lxdialog = $(CT_LIB_DIR)/kconfig/lxdialog/check-lxdialog.sh
54 # Compiler flags to use gettext
55 INTL_CFLAGS = $(shell $(SHELL) $(check_gettext) $(HOST_CC) $(EXTRA_CFLAGS))
57 # Compiler and linker flags to use ncurses
58 NCURSES_CFLAGS = $(shell $(SHELL) $(check_lxdialog) -ccflags)
59 NCURSES_LDFLAGS = $(shell $(SHELL) $(check_lxdialog) -ldflags $(HOST_CC) $(LX_FLAGS) $(EXTRA_CFLAGS))
62 COMMON_SRC = kconfig/zconf.tab.c
63 COMMON_OBJ = $(patsubst %.c,%.o,$(COMMON_SRC))
64 COMMON_DEP = $(patsubst %.o,%.dep,$(COMMON_OBJ))
65 $(COMMON_OBJ) $(COMMON_DEP): CFLAGS += $(INTL_CFLAGS)
67 # lxdialog source files
68 LX_SRC = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/kconfig/lxdialog/*.c))
69 LX_OBJ = $(patsubst %.c,%.o,$(LX_SRC))
70 LX_DEP = $(patsubst %.o,%.dep,$(LX_OBJ))
71 $(LX_OBJ) $(LX_DEP): CFLAGS += $(NCURSES_CFLAGS) $(INTL_CFLAGS)
73 # What's needed to build 'conf'
74 conf_SRC = kconfig/conf.c
75 conf_OBJ = $(patsubst %.c,%.o,$(conf_SRC))
76 conf_DEP = $(patsubst %.o,%.dep,$(conf_OBJ))
77 $(conf_OBJ) $(conf_DEP): CFLAGS += $(INTL_CFLAGS)
79 # What's needed to build 'mconf'
80 mconf_SRC = kconfig/mconf.c
81 mconf_OBJ = $(patsubst %.c,%.o,$(mconf_SRC))
82 mconf_DEP = $(patsubst %.c,%.dep,$(mconf_SRC))
83 $(mconf_OBJ) $(mconf_DEP): CFLAGS += $(NCURSES_CFLAGS) $(INTL_CFLAGS)
84 $(obj)/mconf: LDFLAGS += $(NCURSES_LDFLAGS)
86 # These are generated files:
87 ALL_OBJS = $(sort $(COMMON_OBJ) $(LX_OBJ) $(conf_OBJ) $(mconf_OBJ))
88 ALL_DEPS = $(sort $(COMMON_DEP) $(LX_DEP) $(conf_DEP) $(mconf_DEP))
90 # Cheesy auto-dependencies
91 # Only parse the following if a configurator was called, to avoid building
92 # dependencies when not needed (eg. list-steps, list-samples...)
93 # We must be carefull what we enclose, because we need some of the variable
94 # definitions for clean (and distclean) at least.
95 # Just protecting the "-include $(DEPS)" line should be sufficient.
97 ifneq ($(strip $(MAKECMDGOALS)),)
98 ifneq ($(strip $(filter $(configurators),$(MAKECMDGOALS))),)
101 ifneq ($(strip $(filter oldconfig,$(MAKECMDGOALS))),)
104 ifneq ($(strip $(filter menuconfig,$(MAKECMDGOALS))),)
105 DEPS += $(mconf_DEP) $(LX_DEP)
110 endif # MAKECMDGOALS contains a configurator rule
111 endif # MAKECMDGOALS != ""
113 # Each .o or .dep *can not* directly depend on kconfig/, because kconfig can
114 # be touched during the build (who's touching it, btw?) so each .o or .dep
115 # would be re-built when it sould not be.
116 # So manually check for presence of $(obj) (ie. kconfig), and only mkdir
117 # if needed. After all, that's not so bad...
118 # mkdir $(obj)/lxdialog, because we need it, and incidentally, that
119 # also creates $(obj).
120 define check_kconfig_dir
121 $(SILENT)if [ ! -d $(obj)/lxdialog ]; then \
122 $(ECHO) " MKDIR $(obj)"; \
123 mkdir -p $(obj)/lxdialog; \
127 # Build the dependency for C files
128 %.dep: %.c $(CT_LIB_DIR)/kconfig/kconfig.mk
131 $(SILENT)$(HOST_CC) $(CFLAGS) $(EXTRA_CFLAGS) -MM $< |sed -r -e 's|([^:]+.o)( *:+)|$(<:.c=.o) $@\2|;' >$@
134 %.o: %.c $(CT_LIB_DIR)/kconfig/kconfig.mk
137 $(SILENT)$(HOST_CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
140 $(obj)/mconf: $(COMMON_OBJ) $(LX_OBJ) $(mconf_OBJ)
142 $(SILENT)$(HOST_LD) $(LDFLAGS) $(EXTRA_LDFLAGS) -o $@ $^
144 $(obj)/conf: $(COMMON_OBJ) $(conf_OBJ)
146 $(SILENT)$(HOST_LD) $(LDFLAGS) $(EXTRA_LDFLAGS) -o $@ $^
148 #-----------------------------------------------------------
149 # Cleaning up the mess...
152 @$(ECHO) " CLEAN kconfig"
153 $(SILENT)rm -f kconfig/{,m}conf $(ALL_OBJS) $(ALL_DEPS)
154 $(SILENT)rmdir --ignore-fail-on-non-empty kconfig{/lxdialog,} 2>/dev/null || true