47 |
47 |
48 ########################################################################################## |
48 ########################################################################################## |
49 # Define external dependencies |
49 # Define external dependencies |
50 |
50 |
51 # Latest that could be made to work. |
51 # Latest that could be made to work. |
52 gcc_ver := gcc-4.7.3 |
52 gcc_ver := gcc-4.8.2 |
53 binutils_ver := binutils-2.22 |
53 binutils_ver := binutils-2.24 |
54 ccache_ver := ccache-3.1.9 |
54 ccache_ver := ccache-3.1.9 |
55 mpfr_ver := mpfr-3.0.1 |
55 mpfr_ver := mpfr-3.0.1 |
56 gmp_ver := gmp-4.3.2 |
56 gmp_ver := gmp-4.3.2 |
57 mpc_ver := mpc-1.0.1 |
57 mpc_ver := mpc-1.0.1 |
58 |
58 |
62 MPFR := http://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2 |
62 MPFR := http://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2 |
63 GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2 |
63 GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2 |
64 MPC := http://www.multiprecision.org/mpc/download/${mpc_ver}.tar.gz |
64 MPC := http://www.multiprecision.org/mpc/download/${mpc_ver}.tar.gz |
65 |
65 |
66 # RPMs in OEL5.5 |
66 # RPMs in OEL5.5 |
|
67 LINUX_VERSION := OEL5.5 |
67 RPM_LIST := \ |
68 RPM_LIST := \ |
68 kernel-headers \ |
69 kernel-headers \ |
69 glibc-2 glibc-headers glibc-devel \ |
70 glibc-2 glibc-headers glibc-devel \ |
70 cups-libs cups-devel \ |
71 cups-libs cups-devel \ |
71 libX11 libX11-devel \ |
72 libX11 libX11-devel \ |
119 # Define directories |
120 # Define directories |
120 RESULT := $(OUTPUT_ROOT)/result |
121 RESULT := $(OUTPUT_ROOT)/result |
121 BUILDDIR := $(OUTPUT_ROOT)/$(HOST)/$(TARGET) |
122 BUILDDIR := $(OUTPUT_ROOT)/$(HOST)/$(TARGET) |
122 PREFIX := $(RESULT)/$(HOST) |
123 PREFIX := $(RESULT)/$(HOST) |
123 TARGETDIR := $(PREFIX)/$(TARGET) |
124 TARGETDIR := $(PREFIX)/$(TARGET) |
124 SYSROOT := $(TARGETDIR)/sys-root |
125 SYSROOT := $(TARGETDIR)/sysroot |
125 DOWNLOAD := $(OUTPUT_ROOT)/download |
126 DOWNLOAD := $(OUTPUT_ROOT)/download |
126 SRCDIR := $(OUTPUT_ROOT)/src |
127 SRCDIR := $(OUTPUT_ROOT)/src |
127 |
128 |
128 # Marker file for unpacking rpms |
129 # Marker file for unpacking rpms |
129 rpms := $(SYSROOT)/rpms_unpacked |
130 rpms := $(SYSROOT)/rpms_unpacked |
182 |
183 |
183 $(foreach p,$(RPM_FILE_LIST),$(eval $(call unrpm,$(p)))) |
184 $(foreach p,$(RPM_FILE_LIST),$(eval $(call unrpm,$(p)))) |
184 |
185 |
185 ########################################################################################## |
186 ########################################################################################## |
186 |
187 |
187 # Note: MUST create a <sys-root>/usr/lib even if not really needed. |
188 # Note: MUST create a <sysroot>/usr/lib even if not really needed. |
188 # gcc will use a path relative to it to resolve lib64. (x86_64). |
189 # gcc will use a path relative to it to resolve lib64. (x86_64). |
189 # we're creating multi-lib compiler with 32bit libc as well, so we should |
190 # we're creating multi-lib compiler with 32bit libc as well, so we should |
190 # have it anyway, but just to make sure... |
191 # have it anyway, but just to make sure... |
191 # Patch libc.so and libpthread.so to force linking against libraries in sysroot |
192 # Patch libc.so and libpthread.so to force linking against libraries in sysroot |
192 # and not the ones installed on the build machine. |
193 # and not the ones installed on the build machine. |
457 @touch $@ |
458 @touch $@ |
458 @echo 'done' |
459 @echo 'done' |
459 |
460 |
460 ########################################################################################## |
461 ########################################################################################## |
461 |
462 |
|
463 $(PREFIX)/devkit.info: FRC |
|
464 @echo 'Creating devkit.info in the root of the kit' |
|
465 rm -f $@ |
|
466 touch $@ |
|
467 echo '# This file describes to configure how to interpret the contents of this' >> $@ |
|
468 echo '# devkit' >> $@ |
|
469 echo '' >> $@ |
|
470 echo 'DEVKIT_NAME="$(gcc_ver) - $(LINUX_VERSION)"' >> $@ |
|
471 echo 'DEVKIT_TOOLCHAIN_PATH="$$DEVKIT_ROOT/bin"' >> $@ |
|
472 echo 'DEVKIT_SYSROOT="$$DEVKIT_ROOT/$$host/sysroot"' >> $@ |
|
473 |
|
474 ########################################################################################## |
|
475 |
462 bfdlib : $(bfdlib) |
476 bfdlib : $(bfdlib) |
463 binutils : $(binutils) |
477 binutils : $(binutils) |
464 rpms : $(rpms) |
478 rpms : $(rpms) |
465 libs : $(libs) |
479 libs : $(libs) |
466 sysroot : rpms libs |
480 sysroot : rpms libs |
467 gcc : sysroot $(gcc) $(gccpatch) |
481 gcc : sysroot $(gcc) $(gccpatch) |
468 all : binutils gcc bfdlib |
482 all : binutils gcc bfdlib $(PREFIX)/devkit.info |
469 |
483 |
470 # this is only built for host. so separate. |
484 # this is only built for host. so separate. |
471 ccache : $(ccache) |
485 ccache : $(ccache) |
472 |
486 |
|
487 # Force target |
|
488 FRC: |
|
489 |
473 .PHONY : gcc all binutils bfdlib link_libs rpms libs sysroot |
490 .PHONY : gcc all binutils bfdlib link_libs rpms libs sysroot |