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