OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [soc/] [sw/] [toolchain/] [Makefile] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 xianfeng
#Makefile for building OR1200 tool-chains
2
#Version 0.1 by Tao Xiao
3
#Date: 23/02/2009
4
#
5
##Versions
6
BINUTILS    :=binutils-2.16.1
7
GCC         :=gcc-3.4.4
8
LINUX       :=linux-2.6.23
9
SIM         :=or1ksim-0.2.0
10
GDB         :=gdb-6.8
11
UCLIC       :=uClibc-0.9.28.3
12
BUSYBOX     :=busybox-1.7.5
13
 
14
sub-tools := $(BINUTILS) $(GCC) $(LINUX) $(SIM) $(GDB)
15
PHONY :=
16
PHONY += sub-tools
17
 
18
##Patches
19
$(BINUTILS)-PATCH     :=$(BINUTILS)_unified.diff_rgd_fixed.bz2
20
$(GCC)-PATCH          :=$(GCC)-or32-unified.diff.bz2
21
$(LINUX)-PATCH        :=linux_2.6.23_or32_unified_simtested.bz2
22
$(GDB)-PATCH          :=or32-gdb-6.8-patch-2.0.bz2
23
$(SIM)-PATCH          :=or1ksim-0.2.0-patch-2.0.bz2
24
 
25
$(UCLIC)-PATCH1       :=uClibc-0.9.28-or32-unified.bz2
26
$(UCLIC)-PATCH2       :=uClibc-0.9.28-or32-libc-support.bz2
27
$(UCLIC)-PATCH3       :=embecosm-esp2-or32-uclibc-0.9.28.3-patch-2.0.bz2
28
 
29
##Configs
30
CONFIG1         :=rgd_uc_28_2.6.23_dotconfig
31
CONFIG2         :=rgd_bb_1.75dotconfig
32
CONFIG3         :=DOT_CONFIG_2.6.23_OR32
33
 
34
##Tarballs (for some goddam reason passing -j to tar sometimes corrupts files)
35
INITRD_FB       :=initrd-fb-03.ext2.last.work.1.7.5.bz2
36
SIM_GDB         :=sim_gdb.cfg
37
 
38
##Log file name
39
LOGFILE         :=$(CURDIR)/install.log
40
 
41
HOST            ?=linuxdevel.3322.org
42
ULAB_ORSOC_DIR  ?=ftp/OpenRISC/toolchain
43
 
44
FILELIST += $($(BINUTILS)-PATCH) $($(GCC)-PATCH) $($(LINUX)-PATCH) $($(GDB)-PATCH) $($(SIM)-PATCH) \
45
                        $($(UCLIC)-PATCH1) $($(UCLIC)-PATCH2) $($(UCLIC)-PATCH3)
46
 
47
FILELIST += $(INITRD_FB) $(patsubst %, %.tar.bz2, $(sub-tools) $(UCLIC) $(BUSYBOX))
48
 
49
FILELIST += $(CONFIG1) $(CONFIG2) $(CONFIG3) $(SIM_GDB)
50
 
51
PHONY += $(FILELIST)
52
$(FILELIST) : FORCE $(DOWNLOAD_DIR)
53
                @cd $(DOWNLOAD_DIR) ; [ -f $@ ] || wget $(HOST)/$(ULAB_ORSOC_DIR)/$@
54
 
55
PHONY += BUILD_DIR DOWNLOAD_DIR
56
BUILD_DIR    := $(CURDIR)/build
57
DOWNLOAD_DIR := $(CURDIR)/download
58
 
59
export PATH := $(BUILD_DIR)/tools/or32-uclinux/bin:$(PATH)
60
 
61
$(BUILD_DIR) $(DOWNLOAD_DIR) : FORCE
62
                @[ -d $@ ] || mkdir $@
63
 
64
$(sub-tools)  : $(DOWNLOAD_DIR) $(BUILD_DIR) $(FILELIST)
65
                @cd $(BUILD_DIR);\
66
                        [ -d $@ ] || { \
67
                        tar jxf $(DOWNLOAD_DIR)/$@.tar.bz2 ;\
68
                        cd $@;\
69
                        bzip2 -dc $(DOWNLOAD_DIR)/$($@-PATCH) | patch -p1; }
70
 
71
$(BUSYBOX)    : $(DOWNLOAD_DIR) $(BUILD_DIR) $(FILELIST)
72
                @cd $(BUILD_DIR);\
73
                        [ -d $@ ] || { \
74
                        tar jxf $(DOWNLOAD_DIR)/$@.tar.bz2;\
75
                        cp $(DOWNLOAD_DIR)/$(CONFIG2) $(BUILD_DIR)/$(BUSYBOX)/.config;\
76
                        cp $(DOWNLOAD_DIR)/$(CONFIG2) $(BUILD_DIR)/$(BUSYBOX)/.config.old;}
77
 
78
$(UCLIC)      : $(DOWNLOAD_DIR) $(BUILD_DIR) $(FILELIST)
79
                @cd $(BUILD_DIR);\
80
                        [ -d $@ ] || { ;\
81
                        tar jxf $(DOWNLOAD_DIR)/$@.tar.bz2;\
82
                        cd $@;
83
                        bzip2 -dc $(DOWNLOAD_DIR)/$($(UCLIC)-PATCH1) | patch -p1;\
84
                        cd libc;\
85
                        bzip2 -dc $(DOWNLOAD_DIR)/$($(UCLIC)-PATCH2) | patch -p1;\
86
                        cd ..;\
87
                        bzip2 -dc $(DOWNLOAD_DIR)/$($(UCLIC)-PATCH3) | patch -p1;\
88
                        sed -r "s:KERNEL_SOURCE=.*:KERNEL_SOURCE=\"$(BUILD_DIR)/$(LINUX)\":" \
89
                                $(DOWNLOAD_DIR)/$(CONFIG1) > $(BUILD_DIR)/$(UCLIC)/.config;\
90
                        cp $(BUILD_DIR)/$(UCLIC)/.config  $(BUILD_DIR)/$(UCLIC)/.config.old;\
91
                        make oldconfig;\
92
                        ln -s extra/Configs/Config.or32 Config ;}
93
 
94
PHONY += prepare
95
prepare : $(sub-tools) $(UCLIC) $(BUSYBOX)
96
 
97
PHONY += tools
98
tools   : prepare binutils gcc libc gcc_final sim linux_final gdb busybox FORCE
99
 
100
PHONY += binutils
101
binutils: $(BINUTILS) prepare
102
                @[ -d $(BUILD_DIR)/b-b ] || { \
103
                        mkdir $(BUILD_DIR)/b-b;\
104
                        cd $(BUILD_DIR)/b-b;\
105
                        $(BUILD_DIR)/$(BINUTILS)/configure --target=or32-uclinux \
106
                                --prefix=$(BUILD_DIR)/tools/or32-uclinux;}
107
                $(MAKE) -C $(BUILD_DIR)/b-b -j4 all
108
                $(MAKE) -C $(BUILD_DIR)/b-b install
109
 
110
PHONY += linux_prepare
111
linux_prepare: $(LINUX) prepare
112
                @cp $(DOWNLOAD_DIR)/$(CONFIG3) $(BUILD_DIR)/$(LINUX)/.config
113
                $(MAKE) -C $(BUILD_DIR)/$(LINUX) oldconfig
114
 
115
PHONY += gcc_prepare
116
gcc_prepare: $(LINUX) prepare
117
                @cd $(BUILD_DIR);\
118
                        [ -d tools/or32-uclinux/include ] || { \
119
                        mkdir tools/or32-uclinux/include;\
120
                        cd tools/or32-uclinux/;\
121
                        ln -s include sys-include;\
122
                        mkdir asm linux;\
123
                        cp -f -dR $(BUILD_DIR)/$(LINUX)/include/linux/* linux;\
124
                        cp -f -dR $(BUILD_DIR)/$(LINUX)/include/asm-or32/* asm;}
125
 
126
gcc        : $(GCC) gcc_prepare prepare
127
                @[ -d $(BUILD_DIR)/b-gcc ] || { \
128
                        mkdir $(BUILD_DIR)/b-gcc;\
129
                        cd $(BUILD_DIR)/b-gcc;\
130
                        $(BUILD_DIR)/$(GCC)/configure --target=or32-uclinux \
131
                                --prefix=$(BUILD_DIR)/tools/or32-uclinux \
132
                                --with-local-prefix=$(BUILD_DIR)/tools/or32-uclinux/or32-uclinux \
133
                                --enable-languages=c;}
134
                $(MAKE) -C $(BUILD_DIR)/b-gcc -j4 all
135
                $(MAKE) -C $(BUILD_DIR)/b-gcc install
136
 
137
PHONY += linux
138
linux   : linux_prepare
139
                $(MAKE) -C $(BUILD_DIR)/$(LINUX) -j4 vmlinux ARCH=or32 CROSS_COMPILE=or32-uclinux-
140
 
141
PHONY += libc
142
libc    : $(UCLIC) prepare
143
                $(MAKE) -C $(BUILD_DIR)/$(UCLIC) CC=or32-uclinux-gcc -j4 all
144
                $(MAKE) -C $(BUILD_DIR)/$(UCLIC) CC=or32-uclinux-gcc install
145
 
146
PHONY += gcc_final
147
gcc_final : libc
148
                @cd $(BUILD_DIR)/b-gcc;\
149
                        $(BUILD_DIR)/$(GCC)/configure --target=or32-uclinux --prefix=$(BUILD_DIR)/tools/or32-uclinux \
150
                                        --with-local-prefix=$(BUILD_DIR)/tools/or32-uclinux/or32-uclinux --enable-languages=c
151
                $(MAKE) -C $(BUILD_DIR)/b-gcc -j4 all
152
                $(MAKE) -C $(BUILD_DIR)/b-gcc install
153
                @cd $(BUILD_DIR)/tools/or32-uclinux/or32-uclinux;\
154
                        ln -s ../include sys-include;\
155
                        cd lib;\
156
                        cp -f -dR ../../lib/* .
157
 
158
PHONY += gdb
159
gdb : $(GDB)
160
                @cd $(BUILD_DIR)/$(GDB);\
161
                        ./configure --target=or32-uclinux --prefix=$(BUILD_DIR)/tools/or32-uclinux
162
                $(MAKE) -C $(BUILD_DIR)/$(GDB) all
163
                $(MAKE) -C $(BUILD_DIR)/$(GDB) install
164
 
165
PHONY += linux_final
166
linux_final : gcc_final linux
167
                $(MAKE) -C $(BUILD_DIR)/$(LINUX) -j4 vmlinux ARCH=or32 CROSS_COMPILE=or32-uclinux-
168
 
169
PHONY += sim
170
sim        : $(SIM)
171
                @cd $(BUILD_DIR)/$(SIM);\
172
                        ./configure --target=or32-uclinux --prefix=$(BUILD_DIR)/tools/or32-uclinux;\
173
                $(MAKE) -C $(BUILD_DIR)/$(SIM) -j4 all
174
                $(MAKE) -C $(BUILD_DIR)/$(SIM) install
175
 
176
PHONY += busybox
177
busybox   : $(BUSYBOX)
178
                $(MAKE) -C $(BUILD_DIR)/$(BUSYBOX) -j4 ARCH=or32 CROSS_COMPILE=or32-uclinux-
179
                $(MAKE) -C $(BUILD_DIR)/$(BUSYBOX) install ARCH=or32 CROSS_COMPILE=or32-uclinux-
180
 
181
PHONY += FORCE
182
FORCE:
183
 
184
.PHONY : $(PHONY)

powered by: WebSVN 2.1.0

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