tailscale/tstest/tailmac/Makefile
Jonathan Nobels 8fad8c4b9b
tstest/tailmac: add customized macOS virtualization tooling (#13146)
updates tailcale/corp#22371

Adds custom macOS vm tooling.  See the README for
the general gist, but this will spin up VMs with unixgram
capable network interfaces listening to a named socket,
and with a virtio socket device for host-guest communication.

We can add other devices like consoles, serial, etc as needed.

The whole things is buildable with a single make command, and
everything is controllable via the command line using the TailMac
utility.

This should all be generally functional but takes a few shortcuts
with error handling and the like.  The virtio socket device support
has not been tested and may require some refinement.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
2024-08-19 15:01:19 -04:00

24 lines
641 B
Makefile

XCPRETTIFIER := xcpretty
ifeq (, $(shell which $(XCPRETTIFIER)))
XCPRETTIFIER := cat
endif
.PHONY: tailmac
tailmac:
xcodebuild -scheme tailmac -destination 'platform=macOS,arch=arm64' -derivedDataPath build -configuration Release build | $(XCPRETTIFIER)
cp -r ./build/Build/Products/Release/tailmac ./bin/tailmac
.PHONY: host
host:
xcodebuild -scheme host -destination 'platform=macOS,arch=arm64' -derivedDataPath build -configuration Release build | $(XCPRETTIFIER)
cp -r ./build/Build/Products/Release/Host.app ./bin/Host.app
.PHONY: clean
clean:
rm -rf ./bin
rm -rf ./build
mkdir -p ./bin
.PHONY: all
all: clean tailmac host