OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [Makefile.in] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
srcdir := @abs_top_srcdir@
2
builddir := @abs_top_builddir@
3
INSTALL_DIR := @prefix@
4
 
5
PACKAGES := binutils gcc glibc newlib
6
gcc_version := 5.2.0
7
binutils_version := 2.25.1
8
glibc_version := 2.22
9
newlib_version := 2.2.0
10
 
11
DISTDIR ?= /var/cache/distfiles
12
GNU_MIRROR := http://mirrors.kernel.org/gnu
13
gcc_url := $(GNU_MIRROR)/gcc/gcc-$(gcc_version)/gcc-$(gcc_version).tar.gz
14
binutils_url := $(GNU_MIRROR)/binutils/binutils-$(binutils_version).tar.gz
15
glibc_url := $(GNU_MIRROR)/glibc/glibc-$(glibc_version).tar.gz
16
newlib_url := ftp://sourceware.org/pub/newlib/newlib-$(newlib_version).tar.gz
17
 
18
XLEN ?= @XLEN@
19
WITH_ARCH ?= @WITH_ARCH@
20
MULTILIB ?=
21
SYSROOT := $(INSTALL_DIR)/sysroot
22
 
23
SHELL := /bin/sh
24
AWK := @GAWK@
25
SED := @GSED@
26
PATH := $(INSTALL_DIR)/bin:$(PATH)
27
 
28
# Check to see if we need wrapper scripts for awk/sed (which point to
29
# gawk/gsed on platforms where these aren't the default), otherwise
30
# don't override these as the wrappers don't always work.
31
ifneq (@GSED@,/bin/sed)
32
        PATH := $(base_dir)/sed:$(PATH)
33
endif
34
ifneq (@GAWK@,/usr/bin/gawk)
35
        PATH := $(base_dir)/awk:$(PATH)
36
endif
37
 
38
export PATH AWK SED
39
 
40
MULTILIB_FLAGS := @multilib_flags@
41
ATOMIC_CFLAGS := @atomic_cflags@
42
FLOAT_CFLAGS := @float_cflags@
43
FLOAT_ASFLAGS := @float_asflags@
44
GLIBC_CONFIGURE_FLAGS := @glibc_configure_flags@
45
 
46
CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA) $(ATOMIC_CFLAGS) $(FLOAT_CFLAGS)
47
ASFLAGS_FOR_TARGET := $(ASFLAGS_FOR_TARGET_EXTRA) $(FLOAT_ASFLAGS)
48
 
49
all: @default_target@
50
 
51
newlib: stamps/build-gcc-newlib
52
 
53
ifneq ($(findstring --disable-multilib,$(MULTILIB_FLAGS)),)
54
linux: stamps/build-gcc-linux-stage2
55
else
56
linux:
57
        $(MAKE) stamps/build-gcc-linux-stage1 XLEN=64
58
        $(MAKE) stamps/build-glibc-linux64 XLEN=64
59
        $(MAKE) stamps/build-glibc-linux64-soft-float XLEN=64 MULTILIB=-soft-float \
60
                GLIBC_CONFIGURE_FLAGS="--without-fp --libdir=/usr/lib/soft-float libc_cv_slibdir=/lib/soft-float"
61
        $(MAKE) stamps/build-glibc-linux64-no-atomic XLEN=64 MULTILIB=-no-atomic \
62
                CC="riscv64-unknown-linux-gnu-gcc -mno-atomic" \
63
                CFLAGS_FOR_TARGET_EXTRA="-mno-atomic" \
64
                ASFLAGS_FOR_TARGET_EXTRA="-mno-atomic" \
65
                GLIBC_CONFIGURE_FLAGS="--libdir=/usr/lib/no-atomic libc_cv_slibdir=/lib/no-atomic"
66
        $(MAKE) stamps/build-glibc-linux64-soft-float-no-atomic XLEN=64 MULTILIB=-soft-float-no-atomic \
67
                CC="riscv64-unknown-linux-gnu-gcc -mno-atomic" \
68
                CFLAGS_FOR_TARGET_EXTRA="-mno-atomic" \
69
                ASFLAGS_FOR_TARGET_EXTRA="-mno-atomic" \
70
                GLIBC_CONFIGURE_FLAGS="--without-fp --libdir=/usr/lib/soft-float/no-atomic libc_cv_slibdir=/lib/soft-float/no-atomic"
71
        $(MAKE) stamps/build-glibc-linux32 XLEN=32 \
72
                CC="riscv64-unknown-linux-gnu-gcc -m32" \
73
                READELF=riscv64-unknown-linux-gnu-readelf \
74
                CFLAGS_FOR_TARGET_EXTRA="-m32" \
75
                ASFLAGS_FOR_TARGET_EXTRA="-m32"
76
        $(MAKE) stamps/build-glibc-linux32-soft-float XLEN=32 MULTILIB=-soft-float \
77
                CC="riscv64-unknown-linux-gnu-gcc -m32" \
78
                READELF=riscv64-unknown-linux-gnu-readelf \
79
                CFLAGS_FOR_TARGET_EXTRA="-m32" \
80
                ASFLAGS_FOR_TARGET_EXTRA="-m32" \
81
                GLIBC_CONFIGURE_FLAGS="--without-fp --libdir=/usr/lib32/soft-float libc_cv_slibdir=/lib32/soft-float"
82
        $(MAKE) stamps/build-glibc-linux32-no-atomic XLEN=32 MULTILIB=-no-atomic \
83
                CC="riscv64-unknown-linux-gnu-gcc -m32 -mno-atomic" \
84
                READELF=riscv64-unknown-linux-gnu-readelf \
85
                CFLAGS_FOR_TARGET_EXTRA="-m32 -mno-atomic" \
86
                ASFLAGS_FOR_TARGET_EXTRA="-m32 -mno-atomic" \
87
                GLIBC_CONFIGURE_FLAGS="--libdir=/usr/lib32/no-atomic libc_cv_slibdir=/lib32/no-atomic"
88
        $(MAKE) stamps/build-glibc-linux32-soft-float-no-atomic XLEN=32 MULTILIB=-soft-float-no-atomic \
89
                CC="riscv64-unknown-linux-gnu-gcc -m32 -mno-atomic" \
90
                READELF=riscv64-unknown-linux-gnu-readelf \
91
                CFLAGS_FOR_TARGET_EXTRA="-m32 -mno-atomic" \
92
                ASFLAGS_FOR_TARGET_EXTRA="-m32 -mno-atomic" \
93
                GLIBC_CONFIGURE_FLAGS="--without-fp --libdir=/usr/lib32/soft-float/no-atomic libc_cv_slibdir=/lib32/soft-float/no-atomic"
94
        $(MAKE) stamps/build-gcc-linux-stage2 XLEN=64
95
endif
96
 
97
$(addprefix src/original-,$(PACKAGES)):
98
        mkdir -p src
99
        rm -rf $@ $(subst original-,,$@)-*
100
        cd src && (cat $(DISTDIR)/$(subst src/original-,,$@)-$($(subst src/original-,,$@)_version).tar.gz || @FETCHER@ $($(subst src/original-,,$@)_url)) | tar zxf -
101
        mv $(subst original-,,$@)-$($(subst src/original-,,$@)_version) $@
102
 
103
$(addprefix src/,$(PACKAGES)): src/%: src/original-%
104
        rm -rf $@ $@.tmp
105
        cp -a $< $@.tmp
106
        $(srcdir)/scripts/cp_s $(srcdir)/$(notdir $@) $@.tmp
107
        cd $@.tmp && patch -p1 < $(srcdir)/patches/$(notdir $@)
108
        if test -f $@.tmp/contrib/download_prerequisites && test "@NEED_GCC_EXTERNAL_LIBRARIES@" == "true"; then cd $@.tmp && ./contrib/download_prerequisites; fi
109
        mv $@.tmp $@
110
 
111
.PHONY: patches $(addprefix $(srcdir)/patches/,$(PACKAGES))
112
$(addprefix $(srcdir)/patches/,$(PACKAGES)): $(srcdir)/patches/%: src/%
113
        -cd src/$(notdir $@) && rm `cd $(srcdir)/$(notdir $@) && find . -type f`
114
        -cd src && diff --exclude=manual --exclude=autom4te.cache -rupN original-$(notdir $@) $(notdir $@) | filterdiff --remove-timestamps > $@
115
        $(srcdir)/scripts/cp_s $(srcdir)/$(notdir $@) $<
116
 
117
patches: $(addprefix $(srcdir)/patches/,$(PACKAGES))
118
 
119
stamps/build-binutils-linux: src/binutils
120
        rm -rf $@ $(notdir $@)
121
        mkdir $(notdir $@)
122
        cd $(notdir $@) && $(CURDIR)/$
123
                --target=riscv$(XLEN)-unknown-linux-gnu \
124
                --prefix=$(INSTALL_DIR) \
125
                --with-sysroot=$(SYSROOT) \
126
                $(MULTILIB_FLAGS) \
127
                --disable-nls
128
        $(MAKE) -C $(notdir $@)
129
        $(MAKE) -C $(notdir $@) install
130
        mkdir -p $(dir $@) && touch $@
131
 
132
stamps/build-linux-headers:
133
        mkdir -p $(SYSROOT)/usr/
134
        cp -a $(srcdir)/linux-headers/include $(SYSROOT)/usr/
135
        mkdir -p $(dir $@) && touch $@
136
 
137
stamps/build-glibc-linux-headers: src/glibc stamps/build-gcc-linux-stage1
138
        rm -rf $@ $(notdir $@)
139
        mkdir $(notdir $@)
140
        mkdir -p $(SYSROOT)/usr/lib $(SYSROOT)/lib
141
        cd $(notdir $@) && $(CURDIR)/$
142
                --host=riscv$(XLEN)-unknown-linux-gnu \
143
                --prefix=/usr \
144
                libc_cv_forced_unwind=yes \
145
                libc_cv_c_cleanup=yes \
146
                --enable-shared \
147
                --enable-__thread \
148
                --disable-multilib \
149
                --enable-kernel=2.6.32
150
        $(MAKE) -C $(notdir $@) install-headers install_root=$(SYSROOT)
151
        mkdir -p $(dir $@) && touch $@
152
 
153
stamps/build-glibc-linux$(XLEN)$(MULTILIB): src/glibc stamps/build-gcc-linux-stage1
154
        rm -rf $@ $(notdir $@)
155
        mkdir $(notdir $@)
156
        mkdir -p $(SYSROOT)/usr/lib $(SYSROOT)/lib
157
        cd $(notdir $@) && CFLAGS="$(CFLAGS_FOR_TARGET) -g -O2" \
158
                ASFLAGS="$(ASFLAGS_FOR_TARGET)" \
159
                $(CURDIR)/$
160
                --host=riscv$(XLEN)-unknown-linux-gnu \
161
                --prefix=/usr \
162
                libc_cv_forced_unwind=yes \
163
                libc_cv_c_cleanup=yes \
164
                --enable-shared \
165
                --enable-__thread \
166
                $(MULTILIB_FLAGS) \
167
                --enable-kernel=2.6.32 \
168
                $(GLIBC_CONFIGURE_FLAGS)
169
        $(MAKE) -C $(notdir $@)
170
        $(MAKE) -C $(notdir $@) install install_root=$(SYSROOT)
171
        mkdir -p $(dir $@) && touch $@
172
 
173
stamps/build-gcc-linux-stage1: src/gcc stamps/build-binutils-linux \
174
                               stamps/build-linux-headers
175
        rm -rf $@ $(notdir $@)
176
        mkdir $(notdir $@)
177
        cd $(notdir $@) && $(CURDIR)/$
178
                --target=riscv$(XLEN)-unknown-linux-gnu \
179
                --prefix=$(INSTALL_DIR) \
180
                --with-sysroot=$(SYSROOT) \
181
                --with-newlib \
182
                --without-headers \
183
                --disable-shared \
184
                --disable-threads \
185
                --enable-tls \
186
                --enable-languages=c \
187
                --disable-libatomic \
188
                --disable-libmudflap \
189
                --disable-libssp \
190
                --disable-libquadmath \
191
                --disable-libgomp \
192
                --disable-nls \
193
                --disable-bootstrap \
194
                $(MULTILIB_FLAGS) \
195
                $(WITH_ARCH)
196
        $(MAKE) -C $(notdir $@) inhibit-libc=true all-gcc
197
        $(MAKE) -C $(notdir $@) inhibit-libc=true install-gcc
198
        $(MAKE) -C $(notdir $@) inhibit-libc=true all-target-libgcc
199
        $(MAKE) -C $(notdir $@) inhibit-libc=true install-target-libgcc
200
        mkdir -p $(dir $@) && touch $@
201
 
202
stamps/build-gcc-linux-stage2: src/gcc stamps/build-glibc-linux$(XLEN) \
203
                               stamps/build-glibc-linux-headers
204
        rm -rf $@ $(notdir $@)
205
        mkdir $(notdir $@)
206
        cd $(notdir $@) && $(CURDIR)/$
207
                --target=riscv$(XLEN)-unknown-linux-gnu \
208
                --prefix=$(INSTALL_DIR) \
209
                --with-sysroot=$(SYSROOT) \
210
                --enable-shared \
211
                --enable-tls \
212
                --enable-languages=c,c++,fortran \
213
                --disable-libmudflap \
214
                --disable-libssp \
215
                --disable-libquadmath \
216
                --disable-nls \
217
                $(MULTILIB_FLAGS) \
218
                --disable-bootstrap \
219
                $(WITH_ARCH)
220
        $(MAKE) -C $(notdir $@)
221
        $(MAKE) -C $(notdir $@) install
222
        mkdir -p $(dir $@) && touch $@
223
 
224
stamps/build-binutils-newlib: src/binutils
225
        rm -rf $@ $(notdir $@)
226
        mkdir $(notdir $@)
227
        cd $(notdir $@) && $(CURDIR)/$
228
                --target=riscv$(XLEN)-unknown-elf \
229
                --prefix=$(INSTALL_DIR) \
230
                --enable-tls \
231
                --disable-werror
232
        $(MAKE) -C $(notdir $@)
233
        $(MAKE) -C $(notdir $@) install
234
        mkdir -p $(dir $@) && touch $@
235
 
236
src/newlib-gcc: src/gcc src/newlib
237
        rm -rf $@ $@.tmp
238
        cp -a src/gcc $@.tmp
239
        cp -a src/newlib/newlib $@.tmp
240
        cp -a src/newlib/libgloss $@.tmp
241
        $(srcdir)/scripts/cp_s $(srcdir)/newlib $@.tmp
242
        mv $@.tmp $@
243
 
244
stamps/build-gcc-newlib: src/newlib-gcc stamps/build-binutils-newlib
245
        rm -rf $@ $(notdir $@)
246
        mkdir $(notdir $@)
247
        cd $(notdir $@) && $(CURDIR)/$
248
                --target=riscv$(XLEN)-unknown-elf \
249
                --prefix=$(INSTALL_DIR) \
250
                --disable-shared \
251
                --disable-threads \
252
                --enable-tls \
253
                --enable-languages=c,c++ \
254
                --with-newlib \
255
                --disable-libmudflap \
256
                --disable-libssp \
257
                --disable-libquadmath \
258
                --disable-libgomp \
259
                --disable-nls \
260
                $(MULTILIB_FLAGS) \
261
                $(WITH_ARCH)
262
        $(MAKE) -C $(notdir $@) inhibit-libc=true
263
        $(MAKE) -C $(notdir $@) install
264
        mkdir -p $(dir $@) && touch $@
265
 
266
clean:
267
        rm -rf build-* $(addprefix src/,$(PACKAGES)) stamps
268
 
269
distclean: clean
270
        rm -rf src
271
 
272
# All of the packages install themselves, so our install target does nothing.
273
install:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.