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