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