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