Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I7cf35132df0bc23f7b6f78014ddd72d58ea2ab8a Reviewed-on: https://review.coreboot.org/c/coreboot/+/68983 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com> Reviewed-by: Elyes Haouas <ehaouas@noos.fr> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| ## SPDX-License-Identifier: GPL-2.0-only
 | |
| # if no architecture is specified, set a default
 | |
| BUILD_PLATFORM ?= i386-elf
 | |
| DEST ?= $(CURDIR)/xgcc
 | |
| 
 | |
| # For the toolchain builds, use CPUS=x to use multiple processors to build
 | |
| # use KEEP_SOURCES=1 to keep temporary files after the build
 | |
| # use BUILDGCC_OPTIONS= to set any other crossgcc command line options
 | |
| # Example: BUILDGCC_OPTIONS=-c to remove temporary files before build
 | |
| 
 | |
| all:
 | |
| 	$(MAKE) build-i386 build-x64 build-arm \
 | |
| 		build-riscv build-aarch64 build-ppc64 build-nds32le \
 | |
| 		build_clang build_iasl build_nasm
 | |
| 
 | |
| ###########################################################
 | |
| ### targets to do buildgcc builds
 | |
| 
 | |
| build_gcc:
 | |
| 	bash ./buildgcc -p $(BUILD_PLATFORM) $(if $(CPUS),-j $(CPUS)) $(if $(KEEP_SOURCES),-t) $(BUILDGCC_OPTIONS) \
 | |
| 			$(if $(BUILD_LANGUAGES),-l $(BUILD_LANGUAGES)) -d $(DEST)
 | |
| 
 | |
| build_iasl:
 | |
| 	bash ./buildgcc -P iasl $(if $(CPUS),-j $(CPUS))  $(if $(KEEP_SOURCES),-t) $(BUILDGCC_OPTIONS) -d $(DEST)
 | |
| 
 | |
| build_clang:
 | |
| ifeq ($(SKIP_CLANG),)
 | |
| 	bash ./buildgcc -P clang $(if $(CPUS),-j $(CPUS))  $(if $(KEEP_SOURCES),-t) $(BUILDGCC_OPTIONS) -d $(DEST)
 | |
| endif
 | |
| 
 | |
| build_nasm:
 | |
| 	bash ./buildgcc -P nasm $(if $(CPUS),-j $(CPUS))  $(if $(KEEP_SOURCES),-t) $(BUILDGCC_OPTIONS) -d $(DEST)
 | |
| 
 | |
| ###########################################################
 | |
| build-i386:
 | |
| 	@$(MAKE) build_gcc build_nasm BUILD_PLATFORM=i386-elf
 | |
| 
 | |
| build-x64:
 | |
| 	@$(MAKE) build_gcc build_nasm BUILD_PLATFORM=x86_64-elf
 | |
| 
 | |
| build-arm:
 | |
| 	@$(MAKE) build_gcc BUILD_PLATFORM=arm-eabi
 | |
| 
 | |
| build-aarch64:
 | |
| 	@$(MAKE) build_gcc BUILD_PLATFORM=aarch64-elf
 | |
| 
 | |
| build-riscv:
 | |
| 	@$(MAKE) build_gcc BUILD_PLATFORM=riscv-elf
 | |
| 
 | |
| build-ppc64:
 | |
| 	@$(MAKE) build_gcc BUILD_PLATFORM=powerpc64-linux-gnu
 | |
| 
 | |
| build-nds32le:
 | |
| 	@$(MAKE) build_gcc BUILD_PLATFORM=nds32le-elf
 | |
| 
 | |
| clean_tempfiles:
 | |
| 	rm -rf build-*
 | |
| 	rm -rf binutils-* gcc-* gmp-* mpc-* mpfr-*
 | |
| 	rm -rf llvm-* clang-tools-* cfe-* compiler-rt-*
 | |
| 	rm -rf acpica-*
 | |
| 	rm -f  getopt
 | |
| 
 | |
| clean: clean_tempfiles
 | |
| 	rm -rf xgcc
 | |
| 
 | |
| distclean: clean
 | |
| 	rm -rf tarballs
 | |
| 
 | |
| .PHONY: all build_gcc build_iasl build_clang build_nasm \
 | |
| 	clean distclean clean_tempfiles \
 | |
| 	build-i386 build-x64 build-arm build-aarch64 \
 | |
| 	build-riscv build-ppc64 build-nds32le
 | |
| 
 | |
| .NOTPARALLEL:
 |