ct-ng.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 25 19:40:13 2009 +0000 (2009-01-25)
changeset 1152 73a8bb20ccf2
parent 1143 eee9e8de51e3
child 1155 21e86e18f344
permissions -rw-r--r--
Makefile.in: re-order tools in alphabetical order.

/trunk/Makefile.in | 4 2 2 0 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
yann@1141
     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@1144
    16
# This is where ct-ng is:
yann@1144
    17
export CT_NG:=$(lastword $(MAKEFILE_LIST))
yann@1144
    18
# and this is where we're working in:
yann@1144
    19
export CT_TOP_DIR:=$(shell pwd)
yann@1144
    20
yann@1144
    21
# Paths and values set by ./configure
yann@372
    22
# Don't bother to change it other than with a new ./configure!
yann@182
    23
export CT_LIB_DIR:=@@CT_LIBDIR@@
yann@182
    24
export CT_DOC_DIR:=@@CT_DOCDIR@@
yann@182
    25
yann@197
    26
# This is crosstool-NG version string
yann@543
    27
export CT_VERSION:=@@CT_VERSION@@
yann@182
    28
yann@953
    29
# Don't go parallel
yann@953
    30
.NOTPARALLEL:
yann@953
    31
yann@334
    32
export CT_STOP:=$(STOP)
yann@334
    33
export CT_RESTART:=$(RESTART)
yann@182
    34
yann@954
    35
SILENT=@
yann@954
    36
ECHO=echo
yann@954
    37
ifeq ($(strip $(origin V)),command line)
yann@940
    38
  ifeq ($(strip $(V)),0)
yann@940
    39
    SILENT=@
yann@940
    40
    ECHO=:
yann@940
    41
  else
yann@940
    42
    ifeq ($(strip $(V)),1)
yann@940
    43
      SILENT=
yann@940
    44
      ECHO=:
yann@953
    45
    else
yann@953
    46
      ifeq ($(strip $(V)),2)
yann@953
    47
        SILENT=
yann@953
    48
        ECHO=echo
yann@954
    49
      endif # V == 2
yann@954
    50
    endif # V== 1
yann@954
    51
  endif # V == 0
yann@954
    52
endif # origin V
yann@1008
    53
export V SILENT ECHO
yann@940
    54
yann@1101
    55
.FORCE: $(FORCE)
yann@182
    56
.PHONY: $(PHONY)
yann@182
    57
PHONY += all
yann@197
    58
all: help
yann@182
    59
yann@182
    60
# Help system
yann@229
    61
help:: help-head help-config help-samples help-build help-clean help-distrib help-env help-tail
yann@182
    62
yann@544
    63
help-head:: version
yann@544
    64
	@echo  'See below for a list of available actions, listed by category:'
yann@182
    65
yann@182
    66
help-config::
yann@182
    67
	@echo
yann@197
    68
	@echo  'Configuration actions:'
yann@182
    69
yann@182
    70
help-samples::
yann@182
    71
	@echo
yann@1024
    72
	@echo  'Preconfigured toolchains (#: force number of // jobs):'
yann@182
    73
yann@182
    74
help-build::
yann@182
    75
	@echo
yann@333
    76
	@echo  'Build actions (#: force number of // jobs):'
yann@182
    77
yann@229
    78
help-clean::
yann@229
    79
	@echo
yann@229
    80
	@echo  'Clean actions:'
yann@229
    81
yann@182
    82
help-distrib::
yann@182
    83
	@echo
yann@197
    84
	@echo  'Distribution actions:'
yann@182
    85
yann@182
    86
help-env::
yann@182
    87
	@echo
yann@182
    88
	@echo  'Environement variables (see @@CT_DOCDIR@@/overview.txt):'
yann@182
    89
yann@182
    90
help-tail::
yann@182
    91
	@echo
yann@932
    92
	@echo  'Use action "config" or "menuconfig" to configure crosstool-NG'
yann@932
    93
	@echo  'Use action "build" to build your toolchain'
yann@932
    94
	@echo  'Use action "version" to see the version'
yann@185
    95
	@echo  'See "man 1 ct-ng" for some help as well'
yann@182
    96
yann@182
    97
help-build::
yann@1024
    98
	@echo  '  build[.#]          - Build the currently configured toolchain'
yann@229
    99
yann@229
   100
help-clean::
yann@333
   101
	@echo  '  clean              - Remove generated files'
yann@333
   102
	@echo  '  distclean          - Remove generated files, configuration and build directories'
yann@182
   103
yann@945
   104
include $(CT_LIB_DIR)/config/config.mk
yann@261
   105
include $(CT_LIB_DIR)/kconfig/kconfig.mk
yann@333
   106
include $(CT_LIB_DIR)/steps.mk
yann@261
   107
include $(CT_LIB_DIR)/samples/samples.mk
yann@1101
   108
include $(CT_LIB_DIR)/scripts/scripts.mk
yann@182
   109
yann@182
   110
help-distrib::
yann@333
   111
	@echo  '  tarball            - Build a tarball of the configured toolchain'
yann@182
   112
yann@182
   113
help-env::
yann@182
   114
yann@940
   115
# End help system
yann@940
   116
yann@182
   117
.config:
yann@943
   118
	@echo ' There is no existing .config file!'
yann@182
   119
	@false
yann@182
   120
yann@182
   121
# Actual build
yann@372
   122
build: .config
yann@1143
   123
	$(SILENT)$(CT_LIB_DIR)/scripts/crosstool-NG.sh
yann@182
   124
yann@372
   125
build.%:
yann@1010
   126
	$(SILENT)$(MAKE) -rf $(CT_NG) $(shell echo "$(@)" |sed -r -e 's|^([^.]+)\.([[:digit:]]+)$$|\1 CT_JOBS=\2|;')
yann@333
   127
yann@182
   128
PHONY += tarball
yann@214
   129
#tarball:
yann@214
   130
#	@$(CT_LIB_DIR)/scripts/tarball.sh
yann@182
   131
tarball:
yann@940
   132
	@echo 'Tarball creation disabled for now... Sorry.'
yann@214
   133
	@true
yann@182
   134
yann@268
   135
PHONY += version
yann@268
   136
version:
yann@273
   137
	@echo 'This is crosstool-NG version $(CT_VERSION)'
yann@675
   138
	@echo
yann@675
   139
	@echo 'Copyright (C) 2008  Yann E. MORIN <yann.morin.1998@anciens.enib.fr>'
yann@675
   140
	@echo 'This is free software; see the source for copying conditions.'
yann@675
   141
	@echo 'There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A'
yann@675
   142
	@echo 'PARTICULAR PURPOSE.'
yann@931
   143
	@echo
yann@268
   144
yann@182
   145
PHONY += clean
yann@182
   146
clean::
yann@953
   147
	@$(ECHO) "  CLEAN log"
yann@953
   148
	$(SILENT)rm -f log.* .config.* ..config*
yann@182
   149
yann@182
   150
PHONY += distclean
yann@182
   151
distclean:: clean
yann@953
   152
	@$(ECHO) "  CLEAN .config"
yann@953
   153
	$(SILENT)rm -f .config .config.* ..config*
yann@940
   154
	@$(ECHO) "  CLEAN targets"
yann@940
   155
	$(SILENT)chmod -R u+w targets >/dev/null 2>&1 || true
yann@940
   156
	$(SILENT)rm -rf targets