# Toolchain prefix CROSS_COMPILE := aarch64-poky-linux- CC := $(CROSS_COMPILE)gcc LD := $(CROSS_COMPILE)ld OBJCOPY := $(CROSS_COMPILE)objcopy # Source file SRC := imx8mq.c OBJ := imx8mq.o ELF := imx8mq.elf CELL := imx8mq.cell # Jailhouse includes JAILHOUSE_DIR := /home/automotive/jailhouse INCLUDES := -I$(JAILHOUSE_DIR)/hypervisor/include -I$(JAILHOUSE_DIR)/hypervisor/arch/arm64/include -I$(JAILHOUSE_DIR)/include # Compiler flags CFLAGS := -nostdlib -nostartfiles -ffreestanding $(INCLUDES) # Linker flags LDFLAGS := -Ttext=0x0 -nostdlib # Default target all: $(CELL) # Compile to .o $(OBJ): $(SRC) $(CC) $(CFLAGS) -c $< -o $@ # Link to ELF $(ELF): $(OBJ) $(LD) $(LDFLAGS) -o $@ $^ # Convert ELF to .cell binary $(CELL): $(ELF) $(OBJCOPY) -O binary $< $@ # Clean build artifacts clean: rm -f $(OBJ) $(ELF) $(CELL) .PHONY: all clean