1 1.6 ryo # $NetBSD: Makefile,v 1.6 2022/09/25 21:19:20 ryo Exp $ 2 1.1 marcus 3 1.1 marcus S = ${.CURDIR}/../../../.. 4 1.1 marcus 5 1.6 ryo TOOLDIR ?= /usr/pkg/cross-arm-none-eabi 6 1.6 ryo 7 1.6 ryo CC = ${TOOLDIR}/bin/arm-none-eabi-gcc 8 1.6 ryo OBJCOPY = ${TOOLDIR}/bin/arm-none-eabi-objcopy 9 1.1 marcus 10 1.1 marcus CFLAGS = -W -Wall -mlittle-endian 11 1.5 ryo CFLAGS += -O3 -mcpu=arm7 12 1.1 marcus CFLAGS += -fomit-frame-pointer -funroll-loops -finline-functions 13 1.1 marcus CFLAGS += -I${S} 14 1.1 marcus 15 1.1 marcus all: aica_armcode.h 16 1.1 marcus 17 1.1 marcus aica_armcode.h: aica_armcode.elf 18 1.1 marcus ${OBJCOPY} -O binary aica_armcode.elf aica_armcode.bin 19 1.2 itohy echo '/* $$'NetBSD'$$ */' > ${.TARGET}.tmp 20 1.4 uwe echo 'static uint32_t aica_armcode[] = {' >> ${.TARGET}.tmp 21 1.1 marcus hexdump -v -e '" /* %04.4_ax */\t" 1/4 "0x%08x, " "\n"' \ 22 1.1 marcus aica_armcode.bin >> ${.TARGET}.tmp 23 1.1 marcus echo ' 0 };' >> ${.TARGET}.tmp 24 1.1 marcus mv ${.TARGET}.tmp ${.TARGET} 25 1.1 marcus 26 1.1 marcus aica_armcode.elf: aica_arm_locore.o aica_arm.o 27 1.1 marcus ${CC} ${CFLAGS} -Wl,-Ttext,0 -Wl,-T ldscript -nostdlib -e 0 \ 28 1.1 marcus -o aica_armcode.elf aica_arm_locore.o aica_arm.o 29 1.1 marcus 30 1.1 marcus clean: clean-tmp 31 1.1 marcus # rm -f aica_armcode.h 32 1.1 marcus 33 1.1 marcus clean-tmp: 34 1.1 marcus rm -f *.o aica_armcode.elf aica_armcode.bin aica_armcode.h.tmp 35 1.1 marcus 36