Home | History | Annotate | Line # | Download | only in bootxx
Makefile.bootxx revision 1.8
      1  1.8  tsutsui #	$NetBSD: Makefile.bootxx,v 1.8 2009/01/06 13:35:30 tsutsui 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.8  tsutsui # XXX SHOULD NOT NEED TO DEFINE THESE!
     14  1.1      leo LIBCRT0=
     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.1      leo LIBSA=${S_MACHSAOBJ}/libsa.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 .if ${OBJECT_FMT} == "ELF"
     38  1.8  tsutsui LINKFLAGS=	-static -N -e start -Ttext ${LOADADDR}
     39  1.8  tsutsui .else
     40  1.8  tsutsui LINKFLAGS=	-static -N -Ttext ${LOADADDR}
     41  1.8  tsutsui .endif
     42  1.1      leo 
     43  1.8  tsutsui .PATH: ${.CURDIR}/.. ${S_LIBTOS}
     44  1.1      leo 
     45  1.8  tsutsui #
     46  1.8  tsutsui # Warning: start.S should be the first source!
     47  1.8  tsutsui #
     48  1.8  tsutsui SRCS=	start.S bootxx.c filesystem.c
     49  1.1      leo 
     50  1.8  tsutsui LIBS=	${LIBSA}
     51  1.1      leo 
     52  1.8  tsutsui beforeinstall:
     53  1.8  tsutsui 	${INSTALL_DIR} ${DESTDIR}${BINDIR}
     54  1.1      leo 
     55  1.8  tsutsui ${PROG}:	${OBJS} ${LIBS}
     56  1.8  tsutsui 	${_MKTARGET_LINK}
     57  1.8  tsutsui 	${LD} ${LINKFLAGS} -o ${.TARGET}.elf ${OBJS} ${LIBS}
     58  1.8  tsutsui 	${OBJCOPY} -O binary ${PROG}.elf ${PROG}.bin
     59  1.8  tsutsui 	${SIZE} ${PROG}.elf
     60  1.8  tsutsui 	@len=`${SIZE} ${PROG}.elf |					\
     61  1.8  tsutsui 	    ${TOOL_AWK} 'NR==2 { print $$1+$$2 }'`;			\
     62  1.8  tsutsui 	if [ "$$len" -gt ${BOOTXX_MAXSIZE} ]; then			\
     63  1.8  tsutsui 		echo "### ${PROG} text+data size $$len is"		\
     64  1.8  tsutsui 		    "larger than ${BOOTXX_MAXSIZE}" >&2; \
     65  1.8  tsutsui 		exit 1;							\
     66  1.8  tsutsui 	fi;
     67  1.8  tsutsui 	${TOOL_CAT} ${PROG}.bin /dev/zero |				\
     68  1.8  tsutsui 	    dd of=${PROG}.tmp bs=1 count=6656  2>/dev/null
     69  1.8  tsutsui 	mv ${PROG}.tmp ${.TARGET}
     70  1.1      leo 
     71  1.8  tsutsui CLEANFILES+=	${PROG}.elf ${PROG}.bin ${PROG}.tmp
     72  1.1      leo 
     73  1.1      leo .include <bsd.prog.mk>
     74