forked from Dark-Horse-Linux/pyrois
				
			
		
			
				
	
	
		
			146 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Makefile
		
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Makefile
		
	
	
.EXPORT_ALL_VARIABLES:
 | 
						|
.DEFAULT_GOAL := all
 | 
						|
SHELL := /bin/bash
 | 
						|
 | 
						|
# circular dependency loading
 | 
						|
ifndef project_root
 | 
						|
 | 
						|
%:
 | 
						|
	. ./project_config.sh $(MAKE) $@
 | 
						|
 | 
						|
else 
 | 
						|
 | 
						|
 | 
						|
clean_unsafe:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/clean.sh"
 | 
						|
 | 
						|
clean:
 | 
						|
	set -e
 | 
						|
	make disarm_chroot 
 | 
						|
	make clean_unsafe
 | 
						|
 | 
						|
# same as clean, but retain logs
 | 
						|
purge_artifacts:
 | 
						|
	set -e
 | 
						|
	${dir_make}/purge_artifacts.sh
 | 
						|
 | 
						|
 | 
						|
# these need run in the following order:
 | 
						|
dirs:
 | 
						|
	set -e
 | 
						|
	${dir_make}/dirs.sh
 | 
						|
 | 
						|
# installs the latest version of rex from master branch
 | 
						|
# will later be tied to a release tag
 | 
						|
install_rex:
 | 
						|
	set -e
 | 
						|
	${dir_make}/install_rex.sh
 | 
						|
 | 
						|
# installs the versions designed for this run
 | 
						|
download_sources:
 | 
						|
	set -e
 | 
						|
	${dir_make}/download_sources.sh
 | 
						|
 | 
						|
# ""
 | 
						|
download_patches:
 | 
						|
	set -e
 | 
						|
	${dir_make}/download_patches.sh
 | 
						|
 | 
						|
dependencies:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/dependencies.sh"
 | 
						|
 | 
						|
# kicks off rex
 | 
						|
build_stage1:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/build_stage1.sh"
 | 
						|
 | 
						|
# kicks off rex
 | 
						|
build_stage2:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/build_stage2.sh"
 | 
						|
 | 
						|
arm_chroot:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/arm_chroot.sh"
 | 
						|
 | 
						|
disarm_chroot:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/disarm_chroot.sh"
 | 
						|
 | 
						|
# do not enter the chroot like this unless you have run arm_chroot.  
 | 
						|
# build_stage2 does this automatically.
 | 
						|
enter_chroot:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/enter_chroot.sh"
 | 
						|
 | 
						|
#embeds and kicks off rex from inside chroot
 | 
						|
build_stage3:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/build_stage3.sh"
 | 
						|
 | 
						|
# offers to back up
 | 
						|
backup:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/backup_create.sh"
 | 
						|
 | 
						|
restore_backup:
 | 
						|
	set -e
 | 
						|
	sudo bash -c ". ./project_config.sh && ${dir_make}/backup_restore.sh"
 | 
						|
 | 
						|
build_stage4:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/build_stage4.sh"
 | 
						|
 | 
						|
build_stage5:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/build_stage5.sh"
 | 
						|
 | 
						|
master:
 | 
						|
	set -e
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/master.sh"
 | 
						|
 | 
						|
livecd:
 | 
						|
	set -e
 | 
						|
	make disarm_chroot
 | 
						|
	sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/livecd.sh"
 | 
						|
 | 
						|
# example:
 | 
						|
# 	make dirs
 | 
						|
# 	make install_rex
 | 
						|
# 	make download_sources
 | 
						|
# 	make download_patches
 | 
						|
# 	make build_stage1
 | 
						|
# 	make build_stage2
 | 
						|
# 	optional: make enter_chroot
 | 
						|
# 	make build_stage3
 | 
						|
# 	optional: make build_stage4backup
 | 
						|
# 	make build_stage4
 | 
						|
 | 
						|
.ONESHELL:
 | 
						|
all:
 | 
						|
	set -e; \
 | 
						|
	make disarm_chroot && \
 | 
						|
	make clean && \
 | 
						|
	make dirs && \
 | 
						|
	make install_rex && \
 | 
						|
	make dependencies && \
 | 
						|
	make download_patches && \
 | 
						|
	make download_sources && \
 | 
						|
	make build_stage1 && \
 | 
						|
	make build_stage2 && \
 | 
						|
	make build_stage3 && \
 | 
						|
	make build_stage4 && \
 | 
						|
	make build_stage5 && \
 | 
						|
	make backup
 | 
						|
 | 
						|
 | 
						|
# Remember, before you make clean or make purge_artifacts you MUST run
 | 
						|
# make disarm_chroot beforehand or you could cause irreversible damage 
 | 
						|
# to your system.  It is recommended that these operations only be 
 | 
						|
# performed on a VM, and the host distribution is only tested on Fedora.
 | 
						|
 | 
						|
# end dependency loading block
 | 
						|
endif
 |