ct-ng.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Oct 17 12:47:53 2008 +0000 (2008-10-17)
changeset 943 1cca90ce0481
parent 941 a00f5d821024
child 945 d0e5f04d2e06
permissions -rw-r--r--
Update the kconfig stuff to match the one in the linux-2.6.27 version.

/trunk/kconfig/zconf.hash.c | 225 110 115 0 +++----
/trunk/kconfig/lkc_proto.h | 4 3 1 0 +
/trunk/kconfig/mconf.c | 217 110 107 0 +++---
/trunk/kconfig/menu.c | 86 60 26 0 ++-
/trunk/kconfig/symbol.c | 212 156 56 0 ++++--
/trunk/kconfig/kconfig.mk | 24 9 15 0 -
/trunk/kconfig/lex.zconf.c | 97 80 17 0 ++-
/trunk/kconfig/util.c | 38 30 8 0 +
/trunk/kconfig/lkc.h | 22 18 4 0 +
/trunk/kconfig/expr.c | 32 19 13 0 +
/trunk/kconfig/confdata.c | 254 172 82 0 +++++---
/trunk/kconfig/lxdialog/dialog.h | 12 9 3 0 +
/trunk/kconfig/lxdialog/inputbox.c | 6 3 3 0
/trunk/kconfig/lxdialog/checklist.c | 4 2 2 0
/trunk/kconfig/lxdialog/menubox.c | 6 3 3 0
/trunk/kconfig/lxdialog/textbox.c | 2 1 1 0
/trunk/kconfig/lxdialog/util.c | 47 30 17 0 +
/trunk/kconfig/lxdialog/yesno.c | 4 2 2 0
/trunk/kconfig/expr.h | 20 10 10 0
/trunk/kconfig/zconf.tab.c | 1441 793 648 0 ++++++++++++++++++++++++-------------------
/trunk/kconfig/conf.c | 276 124 152 0 ++++----
/trunk/kconfig/check-gettext.sh | 14 14 0 0 +
/trunk/ct-ng.in | 2 1 1 0
23 files changed, 1759 insertions(+), 1286 deletions(-)
yann@289
     1
#!@@CT_MAKE@@ -rf
yann@182
     2
# Makefile for crosstool-NG.
yann@182
     3
# Copyright 2006 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
yann@182
     4
yann@182
     5
# Don't print directory as we descend into them
yann@411
     6
# Don't use built-in rules, we know what we're doing
yann@289
     7
MAKEFLAGS += --no-print-directory --no-builtin-rules
yann@182
     8
yann@411
     9
# Some distributions (eg. Ubuntu) thought it wise to point /bin/sh to
yann@411
    10
# a truly POSIX-conforming shell, ash in this case. This is not so good
yann@411
    11
# as we, smart (haha!) developers (as smart we ourselves think we are),
yann@411
    12
# got used to bashisms, and are enclined to easiness... So force use of
yann@411
    13
# bash. (Note: this is ugly, but ./configure checks for it).
yann@411
    14
export SHELL=/bin/bash
yann@411
    15
yann@372
    16
# This is where ct-ng is.
yann@372
    17
# Don't bother to change it other than with a new ./configure!
yann@372
    18
CT_NG:=@@CT_BINDIR@@/ct-ng
yann@182
    19
yann@182
    20
export CT_TOP_DIR:=$(shell pwd)
yann@182
    21
export CT_LIB_DIR:=@@CT_LIBDIR@@
yann@182
    22
export CT_DOC_DIR:=@@CT_DOCDIR@@
yann@182
    23
yann@197
    24
# This is crosstool-NG version string
yann@543
    25
export CT_VERSION:=@@CT_VERSION@@
yann@182
    26
yann@334
    27
export CT_STOP:=$(STOP)
yann@334
    28
export CT_RESTART:=$(RESTART)
yann@182
    29
yann@940
    30
ifeq ($(strip $(V)),)
yann@940
    31
  SILENT=@
yann@940
    32
  ECHO=echo
yann@940
    33
else
yann@940
    34
  ifeq ($(strip $(V)),0)
yann@940
    35
    SILENT=@
yann@940
    36
    ECHO=:
yann@940
    37
  else
yann@940
    38
    ifeq ($(strip $(V)),1)
yann@940
    39
      SILENT=
yann@940
    40
      ECHO=:
yann@941
    41
    endif
yann@940
    42
  endif
yann@940
    43
endif
yann@940
    44
export V
yann@940
    45
yann@544
    46
.FORCE:
yann@182
    47
.PHONY: $(PHONY)
yann@182
    48
PHONY += all
yann@197
    49
all: help
yann@182
    50
yann@182
    51
# Help system
yann@229
    52
help:: help-head help-config help-samples help-build help-clean help-distrib help-env help-tail
yann@182
    53
yann@544
    54
help-head:: version
yann@544
    55
	@echo  'See below for a list of available actions, listed by category:'
yann@182
    56
yann@182
    57
help-config::
yann@182
    58
	@echo
yann@197
    59
	@echo  'Configuration actions:'
yann@182
    60
yann@182
    61
help-samples::
yann@182
    62
	@echo
yann@229
    63
	@echo  'Preconfigured toolchains:'
yann@182
    64
yann@182
    65
help-build::
yann@182
    66
	@echo
yann@333
    67
	@echo  'Build actions (#: force number of // jobs):'
yann@182
    68
yann@229
    69
help-clean::
yann@229
    70
	@echo
yann@229
    71
	@echo  'Clean actions:'
yann@229
    72
yann@182
    73
help-distrib::
yann@182
    74
	@echo
yann@197
    75
	@echo  'Distribution actions:'
yann@182
    76
yann@182
    77
help-env::
yann@182
    78
	@echo
yann@182
    79
	@echo  'Environement variables (see @@CT_DOCDIR@@/overview.txt):'
yann@182
    80
yann@182
    81
help-tail::
yann@182
    82
	@echo
yann@932
    83
	@echo  'Use action "config" or "menuconfig" to configure crosstool-NG'
yann@932
    84
	@echo  'Use action "build" to build your toolchain'
yann@932
    85
	@echo  'Use action "version" to see the version'
yann@185
    86
	@echo  'See "man 1 ct-ng" for some help as well'
yann@182
    87
yann@182
    88
help-build::
yann@333
    89
	@echo  '  build[.#]          - Build the toolchain'
yann@229
    90
yann@229
    91
help-clean::
yann@333
    92
	@echo  '  clean              - Remove generated files'
yann@333
    93
	@echo  '  distclean          - Remove generated files, configuration and build directories'
yann@182
    94
yann@261
    95
include $(CT_LIB_DIR)/kconfig/kconfig.mk
yann@333
    96
include $(CT_LIB_DIR)/steps.mk
yann@261
    97
include $(CT_LIB_DIR)/samples/samples.mk
yann@261
    98
include $(CT_LIB_DIR)/tools/tools.mk
yann@182
    99
yann@182
   100
help-distrib::
yann@333
   101
	@echo  '  tarball            - Build a tarball of the configured toolchain'
yann@182
   102
yann@182
   103
help-env::
yann@333
   104
	@echo  '  STOP               - Stop the build just after this step'
yann@333
   105
	@echo  '  RESTART            - Restart the build just before this step'
yann@182
   106
yann@940
   107
# End help system
yann@940
   108
yann@182
   109
.config:
yann@943
   110
	@echo ' There is no existing .config file!'
yann@182
   111
	@false
yann@182
   112
yann@182
   113
# Actual build
yann@372
   114
build: .config
yann@940
   115
	$(SILENT)$(CT_LIB_DIR)/scripts/crosstool.sh
yann@182
   116
yann@372
   117
build.%:
yann@940
   118
	$(SILENT)$(CT_NG) $(shell echo "$(@)" |sed -r -e 's|^([^.]+)\.([[:digit:]]+)$$|\1 CT_JOBS=\2|;')
yann@333
   119
yann@182
   120
PHONY += tarball
yann@214
   121
#tarball:
yann@214
   122
#	@$(CT_LIB_DIR)/scripts/tarball.sh
yann@182
   123
tarball:
yann@940
   124
	@echo 'Tarball creation disabled for now... Sorry.'
yann@214
   125
	@true
yann@182
   126
yann@268
   127
PHONY += version
yann@268
   128
version:
yann@273
   129
	@echo 'This is crosstool-NG version $(CT_VERSION)'
yann@675
   130
	@echo
yann@675
   131
	@echo 'Copyright (C) 2008  Yann E. MORIN <yann.morin.1998@anciens.enib.fr>'
yann@675
   132
	@echo 'This is free software; see the source for copying conditions.'
yann@675
   133
	@echo 'There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A'
yann@675
   134
	@echo 'PARTICULAR PURPOSE.'
yann@931
   135
	@echo
yann@268
   136
yann@182
   137
PHONY += clean
yann@182
   138
clean::
yann@940
   139
	$(SILENT)rm -f .config.*
yann@182
   140
yann@182
   141
PHONY += distclean
yann@182
   142
distclean:: clean
yann@940
   143
	@$(ECHO) "  CLEAN .config log"
yann@940
   144
	$(SILENT)rm -f .config* ..config.tmp
yann@940
   145
	$(SILENT)rm -f log.*
yann@940
   146
	@$(ECHO) "  CLEAN targets"
yann@940
   147
	$(SILENT)chmod -R u+w targets >/dev/null 2>&1 || true
yann@940
   148
	$(SILENT)rm -rf targets