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