Home | History | Annotate | Line # | Download | only in bootxx
Makefile.bootxx revision 1.6.56.2
      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