toolchain: trailing whitespaces cleanup (just cosmetics!)
[openadk.git] / toolchain / Makefile
bloba66791df0d5a4fb2752a2b5fddde46a1149fa553
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 # Steps to build toolchains
5 # 1) build and install binutils
6 # 2) build and install mpfr and gmp
7 # 3) build and install gcc c compiler
8 # 4) install kernel-headers
9 # 5) install libc headers
10 # 6) build and install full gcc
11 # 7) build and install full libc
12 # 8) build and install gdb debugger
14 include $(TOPDIR)/rules.mk
16 TARGETS:=binutils gmp mpfr gcc
17 ifeq ($(ADK_TARGET_LIB_GLIBC),y)
18 TARGETS+=glibc
19 LIBC:=glibc
20 endif
21 ifeq ($(ADK_TARGET_LIB_EGLIBC),y)
22 TARGETS+=eglibc
23 LIBC:=eglibc
24 endif
25 ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
26 TARGETS+=uClibc
27 LIBC:=uClibc
28 endif
29 TARGETS+=gdb
31 DOWNLOAD:=kernel-headers-download $(patsubst %,%-download,$(TARGETS))
32 TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
33 TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
35 all: install
36 install: $(TARGETS_INSTALL)
37 clean: $(TARGETS_CLEAN)
38 download: $(DOWNLOAD)
40 gcc-prepare: binutils-install gmp-install mpfr-install
41 $(LIBC)-prepare: gcc-prepare kernel-headers-prepare
42 gcc-configure: $(LIBC)-prepare
43 $(LIBC)-compile: gcc-configure
44 gcc-compile: $(LIBC)-install
46 $(STAGING_TOOLS):
47 @mkdir -p $(STAGING_TOOLS)/lib
48 @mkdir -p $(STAGING_TOOLS)/include
49 @mkdir -p $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)
50 @ln -sf ../lib $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/lib
52 $(TOOLCHAIN_BUILD_DIR):
53 @mkdir -p $(TOOLCHAIN_BUILD_DIR)
55 %-download:
56 $(TRACE) toolchain/$(patsubst %-download,%,$@)/download
57 $(MAKE) -C $(patsubst %-download,%,$@) fetch
59 %-prepare: $(STAGING_TOOLS) $(TOOLCHAIN_BUILD_DIR)
60 $(TRACE) toolchain/$(patsubst %-prepare,%,$@)/prepare
61 @if test x"$(patsubst %-prepare,%,$@)" = x"$(LIBC)"; then \
62 $(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
63 $(MAKE_TRACE); \
64 else \
65 $(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
66 CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
67 $(MAKE_TRACE); \
70 %-configure: %-prepare
71 $(TRACE) toolchain/$(patsubst %-configure,%,$@)/configure
72 @if test x"$(patsubst %-configure,%,$@)" = x"$(LIBC)"; then \
73 $(MAKE) -C $(patsubst %-configure,%,$@) configure \
74 $(MAKE_TRACE); \
75 else \
76 $(MAKE) -C $(patsubst %-configure,%,$@) configure \
77 CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
78 $(MAKE_TRACE); \
81 %-compile: %-configure
82 $(TRACE) toolchain/$(patsubst %-compile,%,$@)/compile
83 @if test x"$(patsubst %-compile,%,$@)" = x"$(LIBC)"; then \
84 $(MAKE) -C $(patsubst %-compile,%,$@) compile \
85 $(MAKE_TRACE); \
86 else \
87 $(MAKE) -C $(patsubst %-compile,%,$@) compile \
88 CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
89 $(MAKE_TRACE); \
92 %-install: %-compile
93 $(TRACE) toolchain/$(patsubst %-install,%,$@)/install
94 @if test x"$(patsubst %-install,%,$@)" = x"$(LIBC)"; then \
95 $(MAKE) -C $(patsubst %-install,%,$@) install \
96 $(MAKE_TRACE); \
97 else \
98 $(MAKE) -C $(patsubst %-install,%,$@) install \
99 CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
100 $(MAKE_TRACE); \
103 %-clean:
104 $(TRACE) toolchain/$(patsubst %-clean,%,$@)/clean
105 @$(MAKE) -C $(patsubst %-clean,%,$@) clean $(MAKE_TRACE)