Home | History | Annotate | Line # | Download | only in bootxx
Makefile.bootxx revision 1.8.2.1
      1  1.8.2.1      jym #	$NetBSD: Makefile.bootxx,v 1.8.2.1 2009/05/13 17:16:31 jym 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.8.2.1      jym LIBSA=${S_MACHSAOBJ}/lib/sa/libsa.a
     29  1.8.2.1      jym 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.8.2.1      jym 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