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