Home | History | Annotate | Line # | Download | only in bootxx
Makefile.bootxx revision 1.10.18.1
      1  1.10.18.1      tls #	$NetBSD: Makefile.bootxx,v 1.10.18.1 2014/08/20 00:02:48 tls 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.8  tsutsui # XXX SHOULD NOT NEED TO DEFINE THESE!
     13        1.1      leo LIBCRT0=
     14  1.10.18.1      tls LIBCRTI=
     15        1.8  tsutsui LIBC=
     16        1.8  tsutsui LIBCRTBEGIN=
     17        1.8  tsutsui 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.9  tsutsui LIBSA=${S_MACHSAOBJ}/lib/sa/libsa.a
     29        1.9  tsutsui LIBKERN=${S_MACHSAOBJ}/lib/kern/libkern.a
     30        1.1      leo 
     31        1.8  tsutsui .include "../../Makefile.booters"
     32        1.8  tsutsui .include "../../xxboot/${BTYPE}_LOADADDR"
     33        1.8  tsutsui 
     34        1.8  tsutsui 
     35        1.8  tsutsui BOOTXX_MAXSIZE=		6656
     36        1.1      leo 
     37        1.8  tsutsui CPPFLAGS+=	-I. -I${S_LIBTOS} -I${S_MACHSA} -I${S_KERN} -I${S_SA} -I${S}
     38        1.8  tsutsui LINKFLAGS=	-static -N -e start -Ttext ${LOADADDR}
     39        1.1      leo 
     40        1.8  tsutsui .PATH: ${.CURDIR}/.. ${S_LIBTOS}
     41        1.1      leo 
     42        1.8  tsutsui #
     43        1.8  tsutsui # Warning: start.S should be the first source!
     44        1.8  tsutsui #
     45        1.8  tsutsui SRCS=	start.S bootxx.c filesystem.c
     46        1.1      leo 
     47        1.9  tsutsui LIBS=	${LIBSA} ${LIBKERN}
     48        1.1      leo 
     49        1.8  tsutsui beforeinstall:
     50        1.8  tsutsui 	${INSTALL_DIR} ${DESTDIR}${BINDIR}
     51        1.1      leo 
     52        1.8  tsutsui ${PROG}:	${OBJS} ${LIBS}
     53        1.8  tsutsui 	${_MKTARGET_LINK}
     54        1.8  tsutsui 	${LD} ${LINKFLAGS} -o ${.TARGET}.elf ${OBJS} ${LIBS}
     55        1.8  tsutsui 	${OBJCOPY} -O binary ${PROG}.elf ${PROG}.bin
     56        1.8  tsutsui 	${SIZE} ${PROG}.elf
     57        1.8  tsutsui 	@len=`${SIZE} ${PROG}.elf |					\
     58        1.8  tsutsui 	    ${TOOL_AWK} 'NR==2 { print $$1+$$2 }'`;			\
     59        1.8  tsutsui 	if [ "$$len" -gt ${BOOTXX_MAXSIZE} ]; then			\
     60        1.8  tsutsui 		echo "### ${PROG} text+data size $$len is"		\
     61        1.8  tsutsui 		    "larger than ${BOOTXX_MAXSIZE}" >&2; \
     62        1.8  tsutsui 		exit 1;							\
     63        1.8  tsutsui 	fi;
     64        1.8  tsutsui 	${TOOL_CAT} ${PROG}.bin /dev/zero |				\
     65        1.8  tsutsui 	    dd of=${PROG}.tmp bs=1 count=6656  2>/dev/null
     66        1.8  tsutsui 	mv ${PROG}.tmp ${.TARGET}
     67        1.1      leo 
     68        1.8  tsutsui CLEANFILES+=	${PROG}.elf ${PROG}.bin ${PROG}.tmp
     69        1.1      leo 
     70        1.1      leo .include <bsd.prog.mk>
     71