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