mirror of
				https://github.com/kholia/OSX-KVM.git
				synced 2025-11-04 05:32:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
# Builds either a recovery image (Monterey-recovery.img) or a full installer (Monterey-full.img) for Monterey.
 | 
						|
 | 
						|
# To build the full installer you must run this on macOS.
 | 
						|
# The recovery can be built on either macOS or Linux.
 | 
						|
 | 
						|
# For Ubuntu (or similar Linux distribution) you'll need to run this first to get the required packages:
 | 
						|
# sudo apt install qemu-utils make
 | 
						|
 | 
						|
# For macOS you'll probably need to run xcode-select --install to get the commandline tools
 | 
						|
 | 
						|
MONTEREY_APP=/Applications/Install\ macOS\ Monterey.app
 | 
						|
 | 
						|
LINUX_TOOLS = qemu-img
 | 
						|
 | 
						|
OS :=
 | 
						|
UNAME_S := $(shell uname -s)
 | 
						|
 | 
						|
ifeq ($(UNAME_S),Darwin)
 | 
						|
	OS = MACOS
 | 
						|
endif
 | 
						|
 | 
						|
# If this is Linux make sure we have all our build tools available:
 | 
						|
ifeq ($(OS),)
 | 
						|
	K := $(foreach exec,$(LINUX_TOOLS),\
 | 
						|
			$(if $(shell which $(exec)),some string,$(error "Missing required $(exec) tool for build")))
 | 
						|
endif
 | 
						|
 | 
						|
all: Monterey-recovery.img
 | 
						|
 | 
						|
%.img : %.dmg
 | 
						|
	ln $< $@ || cp $< $@
 | 
						|
 | 
						|
ifeq ($(OS),MACOS)
 | 
						|
 | 
						|
Monterey-full.dmg : $(MONTEREY_APP)
 | 
						|
	hdiutil create -o "$@" -size 14g -layout GPTSPUD -fs HFS+J
 | 
						|
	hdiutil attach -noverify -mountpoint /Volumes/install_build "$@"
 | 
						|
	sudo "$</Contents/Resources/createinstallmedia" --volume /Volumes/install_build --nointeraction
 | 
						|
	hdiutil detach "/Volumes/Install macOS Monterey"
 | 
						|
 | 
						|
# Avoid redownloading Monterey if the app already exists
 | 
						|
ifeq (,$(wildcard $(MONTEREY_APP)))
 | 
						|
$(MONTEREY_APP) : InstallAssistant.pkg
 | 
						|
	sudo installer -pkg $< -target /
 | 
						|
endif
 | 
						|
 | 
						|
else
 | 
						|
 | 
						|
Monterey-full.dmg :
 | 
						|
	$(error "Building a full installer requires this script to be run on macOS, run 'make Monterey-recovery.img' instead")
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
Monterey-recovery.dmg : com.apple.recovery.boot/BaseSystem.dmg
 | 
						|
	rm -f $@
 | 
						|
ifeq ($(OS),MACOS)
 | 
						|
	hdiutil convert $< -format UDRW -o $@
 | 
						|
else
 | 
						|
	qemu-img convert $< -O raw $@
 | 
						|
endif
 | 
						|
 | 
						|
com.apple.recovery.boot/BaseSystem.dmg :
 | 
						|
	../../fetch-macOS-v2.py --action download --board-id Mac-F60DEB81FF30ACF6 --os latest
 | 
						|
 | 
						|
InstallAssistant.pkg :
 | 
						|
	../../backups/fetch-macOS.py --version latest --title "macOS Monterey"
 | 
						|
 | 
						|
clean :
 | 
						|
	rm -f SharedSupport.dmg InstallAssistant.pkg Monterey-recovery.img Monterey-full.img
 | 
						|
	rm -rf content com.apple.recovery.boot
 |