This commit is contained in:
Your Name 2025-09-23 10:15:47 +00:00
parent 7e834acae9
commit c6732e14e9
2 changed files with 16 additions and 10 deletions

View File

@ -14,7 +14,8 @@ LIBFT := $(LIBFT_DIR)/lib/libft.a
LIB := $(LIBFT)
TOOLCHAIN := /opt/toolchains/aarch64-linux-musl-cross
TOOLCHAIN_DIR := $(HOME)/.local/toolchains
TOOLCHAIN := $(TOOLCHAIN_DIR)/aarch64-linux-musl-cross
TOOLCHAIN_BIN := $(TOOLCHAIN)/bin
MUSL_LD := $(TOOLCHAIN_BIN)/aarch64-linux-musl-ld
@ -36,13 +37,13 @@ ALPINE_HEADLESS := $(ASSETS)/headless.apkovl.tar.gz
ALPINE_CUSTOM_IMG := $(BUILD_DIR)/alpine-custom.img
PLATFORM := arm64
all: $(TARGET)
QEMU_VM := qemu-system-aarch64
QEMU_IMG := qemu-img
$(TARGET): $(SRC) $(BUILD_DIR) $(LIB) $(TOOLCHAIN)
all: $(TARGET)
$(TARGET): $(TOOLCHAIN) $(SRC) $(BUILD_DIR) $(LIB)
echo $(HOME)
$(CC) $(CFLAGS) -o $(TARGET) $(SRC) $(LIB)
get: $(ASSETS) $(ALPINE) $(ALPINE_TAR) $(ALPINE_HEADLESS)
@ -58,20 +59,24 @@ qemu: $(ALPINE_CUSTOM_IMG) img
-nographic \
-virtfs local,path=$(BUILD_DIR),mount_tag=$(BUILD_DIR),security_model=none
img: $(ALPINE)
img: $(ALPINE) get
$(QEMU_IMG) create -f raw $(ALPINE_CUSTOM_IMG) 512M
mformat -i $(ALPINE_CUSTOM_IMG) -F ::
mcopy -i $(ALPINE_CUSTOM_IMG) -s $(ALPINE)/* ::
bootable: $(ALPINE)
bootable: $(ALPINE) get
tar czf $(MINIROOTFS) -C $(ALPINE) ./
$(ALPINE_HEADLESS):
wget https://github.com/macmpi/alpine-linux-headless-bootstrap/raw/98728731299f262eab270941c522138d6c5cea73/headless.apkovl.tar.gz -O $(ALPINE_HEADLESS)
$(TOOLCHAIN):
$(TOOLCHAIN): | $(TOOLCHAIN_DIR)
wget https://musl.cc/aarch64-linux-musl-cross.tgz
sudo tar xvf aarch64-linux-musl-cross.tgz -C $@
tar xvf aarch64-linux-musl-cross.tgz -C $(TOOLCHAIN_DIR)
rm aarch64-linux-musl-cross.tgz
$(TOOLCHAIN_DIR):
mkdir -p $@
$(ALPINE_TAR):
wget https://dl-cdn.alpinelinux.org/alpine/v3.22/releases/aarch64/alpine-rpi-3.22.1-aarch64.tar.gz -O $(ALPINE_TAR)

View File

@ -49,7 +49,8 @@ LIBS := printf
all: $(NAME)
TOOLCHAIN := /opt/toolchains/aarch64-linux-musl-cross
TOOLCHAIN_DIR := $(HOME)/.local/toolchains
TOOLCHAIN := $(TOOLCHAIN_DIR)/aarch64-linux-musl-cross
TOOLCHAIN_BIN := $(TOOLCHAIN)/bin
MUSL_LD := $(TOOLCHAIN_BIN)/aarch64-linux-musl-ld