ct-ng.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jul 24 16:57:03 2008 +0000 (2008-07-24)
changeset 716 d557e8f3affc
parent 544 6b15ef33e8f2
child 931 6ce613108f43
permissions -rw-r--r--
Make gcc-4.3.x correctly build for ARM softfloat.

/trunk/patches/gcc/4.3.0/875-arm-softfloat.patch | 29 29 0 0 +++++++++++++++++++++++++++++
/trunk/patches/gcc/4.3.1/750-arm-softfloat.patch | 29 29 0 0 +++++++++++++++++++++++++++++
2 files changed, 58 insertions(+)
     1 #!@@CT_MAKE@@ -rf
     2 # Makefile for crosstool-NG.
     3 # Copyright 2006 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
     4 
     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
     8 
     9 # Some distributions (eg. Ubuntu) thought it wise to point /bin/sh to
    10 # a truly POSIX-conforming shell, ash in this case. This is not so good
    11 # as we, smart (haha!) developers (as smart we ourselves think we are),
    12 # got used to bashisms, and are enclined to easiness... So force use of
    13 # bash. (Note: this is ugly, but ./configure checks for it).
    14 export SHELL=/bin/bash
    15 
    16 # This is where ct-ng is.
    17 # Don't bother to change it other than with a new ./configure!
    18 CT_NG:=@@CT_BINDIR@@/ct-ng
    19 
    20 export CT_TOP_DIR:=$(shell pwd)
    21 export CT_LIB_DIR:=@@CT_LIBDIR@@
    22 export CT_DOC_DIR:=@@CT_DOCDIR@@
    23 
    24 # This is crosstool-NG version string
    25 export CT_VERSION:=@@CT_VERSION@@
    26 
    27 export CT_STOP:=$(STOP)
    28 export CT_RESTART:=$(RESTART)
    29 
    30 .FORCE:
    31 .PHONY: $(PHONY)
    32 PHONY += all
    33 all: help
    34 
    35 HOST_CC := gcc -funsigned-char
    36 
    37 # Help system
    38 help:: help-head help-config help-samples help-build help-clean help-distrib help-env help-tail
    39 
    40 help-head:: version
    41 	@echo  'See below for a list of available actions, listed by category:'
    42 
    43 help-config::
    44 	@echo
    45 	@echo  'Configuration actions:'
    46 
    47 help-samples::
    48 	@echo
    49 	@echo  'Preconfigured toolchains:'
    50 
    51 help-build::
    52 	@echo
    53 	@echo  'Build actions (#: force number of // jobs):'
    54 
    55 help-clean::
    56 	@echo
    57 	@echo  'Clean actions:'
    58 
    59 help-distrib::
    60 	@echo
    61 	@echo  'Distribution actions:'
    62 
    63 help-env::
    64 	@echo
    65 	@echo  'Environement variables (see @@CT_DOCDIR@@/overview.txt):'
    66 
    67 help-tail::
    68 	@echo
    69 	@echo  'Execute "$(CT_NG) config" or "$(CT_NG) menuconfig" to configure crosstool-NG'
    70 	@echo  'Execute "$(CT_NG) build" to build your toolchain'
    71 	@echo  'Execute "$(CT_NG) version" to see the version'
    72 	@echo  'See "man 1 ct-ng" for some help as well'
    73 
    74 # End help system
    75 
    76 help-build::
    77 	@echo  '  build[.#]          - Build the toolchain'
    78 
    79 help-clean::
    80 	@echo  '  clean              - Remove generated files'
    81 	@echo  '  distclean          - Remove generated files, configuration and build directories'
    82 
    83 include $(CT_LIB_DIR)/kconfig/kconfig.mk
    84 include $(CT_LIB_DIR)/steps.mk
    85 include $(CT_LIB_DIR)/samples/samples.mk
    86 include $(CT_LIB_DIR)/tools/tools.mk
    87 
    88 help-distrib::
    89 	@echo  '  tarball            - Build a tarball of the configured toolchain'
    90 
    91 help-env::
    92 	@echo  '  STOP               - Stop the build just after this step'
    93 	@echo  '  RESTART            - Restart the build just before this step'
    94 
    95 .config:
    96 	@echo  'You must run either one of "$(CT_NG) config" or "$(CT_NG) menuconfig" first'
    97 	@false
    98 
    99 # Actual build
   100 build: .config
   101 	@$(CT_LIB_DIR)/scripts/crosstool.sh
   102 
   103 build.%:
   104 	@$(CT_NG) $(shell echo "$(@)" |sed -r -e 's|^([^.]+)\.([[:digit:]]+)$$|\1 CT_JOBS=\2|;')
   105 
   106 PHONY += tarball
   107 #tarball:
   108 #	@$(CT_LIB_DIR)/scripts/tarball.sh
   109 tarball:
   110 	@echo 'Tarbal creation disabled for now... Sorry.'
   111 	@true
   112 
   113 PHONY += version
   114 version:
   115 	@echo 'This is crosstool-NG version $(CT_VERSION)'
   116 	@echo
   117 	@echo 'Copyright (C) 2008  Yann E. MORIN <yann.morin.1998@anciens.enib.fr>'
   118 	@echo 'This is free software; see the source for copying conditions.'
   119 	@echo 'There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A'
   120 	@echo 'PARTICULAR PURPOSE.'
   121 
   122 PHONY += clean
   123 clean::
   124 	@rm -f $(CT_TOP_DIR)/.config.*
   125 
   126 PHONY += distclean
   127 distclean:: clean
   128 	@rm -f $(CT_TOP_DIR)/.config* $(CT_TOP_DIR)/..config.tmp
   129 	@rm -f $(CT_TOP_DIR)/log.*
   130 	@[ ! -d "$(CT_TOP_DIR)/targets" ] || chmod -R u+w "$(CT_TOP_DIR)/targets"
   131 	@rm -rf "$(CT_TOP_DIR)/targets"