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