mirror of
https://gitlab.os-k.eu/os-k-team/cross-cc-builder.git
synced 2023-08-25 14:03:10 +02:00
Now quite modular
This commit is contained in:
parent
0e08577ac7
commit
5881cb46cc
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ gcc*
|
|||||||
binutils*
|
binutils*
|
||||||
bin/*
|
bin/*
|
||||||
build*
|
build*
|
||||||
|
cross-cc*
|
||||||
|
33
Makefile
33
Makefile
@ -22,8 +22,8 @@
|
|||||||
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
|
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
|
||||||
#=----------------------------------------------------------------------------=#
|
#=----------------------------------------------------------------------------=#
|
||||||
|
|
||||||
.PHONY: retrieve compile showenv deflate configurebinutils binutils gcc clean
|
.PHONY: retrieve compile showenv deflate clean cross-cc
|
||||||
.DEFAULT_GOAL := gcc
|
.DEFAULT_GOAL := cross-cc
|
||||||
|
|
||||||
|
|
||||||
## VERSIONS ------------------------------------------------------------------ #
|
## VERSIONS ------------------------------------------------------------------ #
|
||||||
@ -67,27 +67,34 @@ showenv:
|
|||||||
@echo Target : $(TARGET)
|
@echo Target : $(TARGET)
|
||||||
@echo Thread number : $(NTHREADS)
|
@echo Thread number : $(NTHREADS)
|
||||||
|
|
||||||
retrieve: showenv
|
$(GCCTARNAME):
|
||||||
@echo ${CL2}[$@] ${NC}Downloading GCC sources...${CL3}
|
@echo ${CL2}[$@] ${NC}Downloading GCC sources...${CL3}
|
||||||
@wget $(GCC_SOURCES) -O $(GCCTARNAME) -q -c --show-progress
|
@wget $(GCC_SOURCES) -O $(GCCTARNAME) -q -c --show-progress
|
||||||
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
|
$(BINUTILSTARNAME):
|
||||||
@echo ${CL2}[$@] ${NC}Downloading BINUTILS sources...${CL3}
|
@echo ${CL2}[$@] ${NC}Downloading BINUTILS sources...${CL3}
|
||||||
@wget $(BINUTILS_SOURCES) -O $(BINUTILSTARNAME) -q -c --show-progress
|
@wget $(BINUTILS_SOURCES) -O $(BINUTILSTARNAME) -q -c --show-progress
|
||||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
deflate:
|
|
||||||
@echo ${CL2}[$@] ${NC}Deflate GCC sources...${CL3}
|
$(GCC_NAME): $(BINUTILSTARNAME)
|
||||||
|
@echo ${CL2}[$@] ${NC}Deflate $(GCC_NAME) sources...${CL3}
|
||||||
@tar -xaf $(GCCTARNAME) --skip-old-files
|
@tar -xaf $(GCCTARNAME) --skip-old-files
|
||||||
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
|
$(BINUTILS_NAME): $(GCCTARNAME)
|
||||||
@echo ${CL2}[$@] ${NC}Deflate $(BINUTILS_NAME) sources...${CL3}
|
@echo ${CL2}[$@] ${NC}Deflate $(BINUTILS_NAME) sources...${CL3}
|
||||||
@tar -xaf $(BINUTILSTARNAME) --skip-old-files
|
@tar -xaf $(BINUTILSTARNAME) --skip-old-files
|
||||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
configurebinutils: retrieve deflate
|
build-binutils: $(BINUTILS_NAME)
|
||||||
@echo ${CL2}[$@] ${NC}Configuring $(BINUTILS_NAME)...${CL3}
|
@echo ${CL2}[$@] ${NC}Configuring $(BINUTILS_NAME)...${CL3}
|
||||||
@mkdir -p build-binutils
|
@mkdir -p build-binutils
|
||||||
cd build-binutils && ../$(BINUTILS_NAME)/configure --target=$(TARGET) --prefix="$(PREFIX)" --with-sysroot --disable-nls --disable-werror
|
cd build-binutils && ../$(BINUTILS_NAME)/configure --target=$(TARGET) --prefix="$(PREFIX)" --with-sysroot --disable-nls --disable-werror
|
||||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
binutils: configurebinutils
|
$(PREFIX)/bin/x86_64-elf-objcopy: build-binutils
|
||||||
@echo ${CL2}[$@] ${NC}Compiling $(BINUTILS_NAME)...${CL3}
|
@echo ${CL2}[$@] ${NC}Compiling $(BINUTILS_NAME)...${CL3}
|
||||||
cd build-binutils && make -j $(NTHREADS)
|
cd build-binutils && make -j $(NTHREADS)
|
||||||
@echo ${CL2}[$@] ${NC}Compiling $(BINUTILS_NAME)...${CL3}
|
@echo ${CL2}[$@] ${NC}Compiling $(BINUTILS_NAME)...${CL3}
|
||||||
@ -95,7 +102,7 @@ binutils: configurebinutils
|
|||||||
cd build-binutils && make install -j $(NTHREADS)
|
cd build-binutils && make install -j $(NTHREADS)
|
||||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
configuregcc:
|
build-gcc: $(GCC_NAME)
|
||||||
@echo ${CL2}[$@] ${NC}Configuring $(GCC_NAME)...${CL3}
|
@echo ${CL2}[$@] ${NC}Configuring $(GCC_NAME)...${CL3}
|
||||||
@cp multilib.opt $(GCC_NAME)/gcc/config/i386/t-x86_64-elf
|
@cp multilib.opt $(GCC_NAME)/gcc/config/i386/t-x86_64-elf
|
||||||
@patch $(GCC_NAME)/gcc/config.gcc < patch-red-zone.diff
|
@patch $(GCC_NAME)/gcc/config.gcc < patch-red-zone.diff
|
||||||
@ -103,7 +110,7 @@ configuregcc:
|
|||||||
cd build-gcc && ../$(GCC_NAME)/configure --target=$(TARGET) --prefix="$(PREFIX)" --disable-nls --enable-languages=c,c++ --without-headers
|
cd build-gcc && ../$(GCC_NAME)/configure --target=$(TARGET) --prefix="$(PREFIX)" --disable-nls --enable-languages=c,c++ --without-headers
|
||||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
gcc: binutils configuregcc
|
$(PREFIX)/bin/x86_64-elf-gcc: $(PREFIX)/bin/x86_64-elf-objcopy build-gcc
|
||||||
@echo ${CL2}[$@] ${NC}Compiling $(GCC_NAME)...${CL3}
|
@echo ${CL2}[$@] ${NC}Compiling $(GCC_NAME)...${CL3}
|
||||||
cd build-gcc && make all-gcc -j $(NTHREADS)
|
cd build-gcc && make all-gcc -j $(NTHREADS)
|
||||||
cd build-gcc && make all-target-libgcc -j $(NTHREADS)
|
cd build-gcc && make all-target-libgcc -j $(NTHREADS)
|
||||||
@ -114,9 +121,11 @@ gcc: binutils configuregcc
|
|||||||
|
|
||||||
clean:
|
clean:
|
||||||
@mkdir -p build-gcc build-binutils
|
@mkdir -p build-gcc build-binutils
|
||||||
@cd build-gcc && rm -rf *
|
@rm -rf build-gcc
|
||||||
@cd build-binutils && rm -rf *
|
@rm -rf build-binutils
|
||||||
@rm -rf cross-cc
|
@rm -rf cross-cc
|
||||||
|
@rm -rf $(GCC_NAME)/gcc/config/i386/t-x86_64-elf
|
||||||
|
@patch -R $(GCC_NAME)/gcc/config.gcc < patch-red-zone.diff
|
||||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
|
|
||||||
@ -124,3 +133,5 @@ remove_all:
|
|||||||
@rm -rf gcc*
|
@rm -rf gcc*
|
||||||
@rm -rf bin*
|
@rm -rf bin*
|
||||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||||
|
|
||||||
|
cross-cc: $(PREFIX)/bin/x86_64-elf-gcc
|
||||||
|
Loading…
Reference in New Issue
Block a user