1 # $NetBSD: Makefile,v 1.8 2008/10/25 22:27:37 apb 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 PIE_CFLAGS= 17 PIE_LDFLAGS= 18 PIE_AFLAGS= 19 20 .include <bsd.own.mk> 21 22 PROG= cdboot 23 SRCS?= cdboot.S 24 25 BINDIR= /usr/mdec 26 BINMODE=444 27 28 .PATH: ${.CURDIR}/.. 29 30 LDFLAGS+= -nostdlib -Wl,-e,start 31 CPPFLAGS+= -I. -I${.CURDIR}/../lib -I${S} 32 CPPFLAGS+= -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} 33 CPPFLAGS+= -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS} 34 #CPPFLAGS+= -DDISABLE_KEYPRESS 35 36 .if ${MACHINE} == "amd64" 37 LDFLAGS+= -Wl,-m,elf_i386 38 AFLAGS+= -m32 39 .endif 40 41 .if !make(obj) && !make(clean) && !make(cleandir) 42 .BEGIN: machine x86 43 .NOPATH: machine x86 44 .endif 45 46 realdepend realall: machine x86 47 CLEANFILES+= machine x86 48 49 machine:: 50 -rm -f $@ 51 ln -s $S/arch/i386/include $@ 52 53 x86:: 54 -rm -f $@ 55 ln -s $S/arch/x86/include $@ 56 57 ${OBJS}: machine x86 58 59 CLEANFILES+= ${PROG}.tmp 60 61 ${PROG}: ${OBJS} 62 ${_MKTARGET_LINK} 63 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} ${OBJS} 64 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' \ 65 | ${TOOL_SED} 's/^0*//' ); \ 66 echo "#### There are $$1 free bytes in ${PROG}" 67 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG} 68 rm -f ${PROG}.tmp 69 70 .include <bsd.prog.mk> 71