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