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