1 # $NetBSD: Makefile,v 1.1 2005/06/15 06:38:45 junyoung Exp $ 2 3 S= ${.CURDIR}/../../../../../ 4 5 NOMAN= # defined 6 STRIPFLAG= # nothing 7 8 LIBCRT0= # nothing 9 LIBCRTBEGIN= # nothing 10 LIBCRTEND= # nothing 11 LIBC= # nothing 12 13 PRIMARY_LOAD_ADDRESS=0x600 14 SECONDARY_LOAD_ADDRESS=0x10000 15 16 .include <bsd.own.mk> 17 18 PROG= cdboot 19 SRCS?= cdboot.S 20 21 BINDIR= /usr/mdec 22 BINMODE=444 23 24 .PATH: ${.CURDIR}/.. 25 26 LDFLAGS+= -e start 27 CPPFLAGS+= -I. -I${.CURDIR}/../lib -I${S} 28 CPPFLAGS+= -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} 29 CPPFLAGS+= -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS} 30 31 .if ${MACHINE} == "amd64" 32 LDFLAGS+= -m elf_i386 33 AFLAGS+= -m32 34 .endif 35 36 .if !make(obj) && !make(clean) && !make(cleandir) 37 .BEGIN: machine x86 38 .NOPATH: machine x86 39 .endif 40 41 realdepend realall: machine x86 42 CLEANFILES+= machine x86 43 44 machine:: 45 -rm -f $@ 46 ln -s $S/arch/i386/include $@ 47 48 x86:: 49 -rm -f $@ 50 ln -s $S/arch/x86/include $@ 51 52 ${OBJS}: machine x86 53 54 CLEANFILES+= ${PROG}.tmp 55 56 ${PROG}: ${OBJS} 57 ${LD} -o ${PROG}.tmp ${LDFLAGS} -Ttext ${PRIMARY_LOAD_ADDRESS} ${OBJS} 58 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' | sed 's/^0*//' ); \ 59 echo "#### There are $$1 free bytes in ${PROG}" 60 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG} 61 rm -f ${PROG}.tmp 62 63 .include <bsd.prog.mk> 64