1 1.6.56.2 yamt # $NetBSD: Makefile.bootxx,v 1.6.56.2 2010/08/11 22:51:46 yamt Exp $ 2 1.1 leo 3 1.1 leo NOMAN= # defined 4 1.1 leo 5 1.1 leo .include <bsd.own.mk> 6 1.1 leo 7 1.1 leo PROG= bootxx 8 1.1 leo 9 1.1 leo STRIPFLAG= 10 1.1 leo BINMODE=${NONBINMODE} 11 1.1 leo 12 1.6.56.1 yamt # XXX SHOULD NOT NEED TO DEFINE THESE! 13 1.1 leo LIBCRT0= 14 1.6.56.1 yamt LIBC= 15 1.6.56.1 yamt LIBCRTBEGIN= 16 1.6.56.1 yamt LIBCRTEND= 17 1.1 leo 18 1.1 leo # logically src/sys 19 1.1 leo S=${.CURDIR}/../../../../.. 20 1.1 leo S_SA=${S}/lib/libsa 21 1.1 leo S_KERN=${S}/lib/libkern 22 1.1 leo S_MACHSA=${S}/arch/atari/stand/libsa 23 1.1 leo S_LIBTOS=${S}/arch/atari/stand/tostools/libtos 24 1.1 leo 25 1.1 leo S_MACHSAOBJ!= cd ${S_MACHSA} && ${PRINTOBJDIR} 26 1.1 leo 27 1.6.56.1 yamt LIBSA=${S_MACHSAOBJ}/lib/sa/libsa.a 28 1.6.56.1 yamt LIBKERN=${S_MACHSAOBJ}/lib/kern/libkern.a 29 1.1 leo 30 1.6.56.1 yamt .include "../../Makefile.booters" 31 1.6.56.1 yamt .include "../../xxboot/${BTYPE}_LOADADDR" 32 1.1 leo 33 1.1 leo 34 1.6.56.1 yamt BOOTXX_MAXSIZE= 6656 35 1.6.56.1 yamt 36 1.6.56.1 yamt CPPFLAGS+= -I. -I${S_LIBTOS} -I${S_MACHSA} -I${S_KERN} -I${S_SA} -I${S} 37 1.6.56.1 yamt LINKFLAGS= -static -N -e start -Ttext ${LOADADDR} 38 1.1 leo 39 1.6.56.1 yamt .PATH: ${.CURDIR}/.. ${S_LIBTOS} 40 1.1 leo 41 1.6.56.1 yamt # 42 1.6.56.1 yamt # Warning: start.S should be the first source! 43 1.6.56.1 yamt # 44 1.6.56.1 yamt SRCS= start.S bootxx.c filesystem.c 45 1.1 leo 46 1.6.56.1 yamt LIBS= ${LIBSA} ${LIBKERN} 47 1.1 leo 48 1.6.56.1 yamt beforeinstall: 49 1.6.56.1 yamt ${INSTALL_DIR} ${DESTDIR}${BINDIR} 50 1.1 leo 51 1.6.56.1 yamt ${PROG}: ${OBJS} ${LIBS} 52 1.6.56.1 yamt ${_MKTARGET_LINK} 53 1.6.56.1 yamt ${LD} ${LINKFLAGS} -o ${.TARGET}.elf ${OBJS} ${LIBS} 54 1.6.56.1 yamt ${OBJCOPY} -O binary ${PROG}.elf ${PROG}.bin 55 1.6.56.1 yamt ${SIZE} ${PROG}.elf 56 1.6.56.1 yamt @len=`${SIZE} ${PROG}.elf | \ 57 1.6.56.1 yamt ${TOOL_AWK} 'NR==2 { print $$1+$$2 }'`; \ 58 1.6.56.1 yamt if [ "$$len" -gt ${BOOTXX_MAXSIZE} ]; then \ 59 1.6.56.1 yamt echo "### ${PROG} text+data size $$len is" \ 60 1.6.56.1 yamt "larger than ${BOOTXX_MAXSIZE}" >&2; \ 61 1.6.56.1 yamt exit 1; \ 62 1.6.56.1 yamt fi; 63 1.6.56.1 yamt ${TOOL_CAT} ${PROG}.bin /dev/zero | \ 64 1.6.56.1 yamt dd of=${PROG}.tmp bs=1 count=6656 2>/dev/null 65 1.6.56.1 yamt mv ${PROG}.tmp ${.TARGET} 66 1.6.56.1 yamt 67 1.6.56.1 yamt CLEANFILES+= ${PROG}.elf ${PROG}.bin ${PROG}.tmp 68 1.1 leo 69 1.1 leo .include <bsd.prog.mk> 70