summaryrefslogtreecommitdiff
path: root/Makefile
blob: da7ae78322f4adb5fc3f19a0eecc7cddfccdd744 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Makefile for crosstool-NG.
# Copyright 2006 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>

# Don't print directory as we descend into them
MAKEFLAGS += --no-print-directory

# The project version
export PROJECTVERSION=0.0.2-svn

# This should eventually be computed if compiling out-of-tree is implemented
export CT_TOP_DIR=$(shell pwd)

.PHONY: all
all: build

HOST_CC = gcc -funsigned-char

help::
	@echo  'Available make targets:'
	@echo

include $(CT_TOP_DIR)/kconfig/Makefile
include $(CT_TOP_DIR)/samples/Makefile

help::
	@echo  'Build targets:'
	@echo  '* build          - Build the toolchain'
	@echo  '  clean          - Remove generated files'
	@echo  '  distclean      - Remove generated files, configuration and build directories'

include $(CT_TOP_DIR)/tools/Makefile

help::
	@echo  'Execute "make" or "make all" to build all targets marked with [*]'

.config: $(shell find $(CT_TOP_DIR)/config -type f -name '*.in')
	@make menuconfig
	@# Because exiting menuconfig without saving is not an error to menuconfig
	@test -f .config

# Actual build
build: .config
	@$(CT_TOP_DIR)/scripts/crosstool.sh

.PHONY: distclean
distclean:: clean
	@rm -f .config* ..config.tmp
	@rm -rf "$(CT_TOP_DIR)/targets"