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