1 # $NetBSD: Makefile,v 1.13 2013/09/12 05:54:38 joerg Exp $ 2 3 S= ${.CURDIR}/../../../.. 4 5 AFLAGS.cdboot.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 6 7 PIE_CFLAGS= 8 PIE_LDFLAGS= 9 PIE_AFLAGS= 10 11 NOMAN= # defined 12 .include <bsd.own.mk> 13 14 STRIPFLAG= # nothing 15 16 LIBCRT0= # nothing 17 LIBCRTBEGIN= # nothing 18 LIBCRTEND= # nothing 19 LIBC= # nothing 20 21 PRIMARY_LOAD_ADDRESS= 0x1000 22 SECONDARY_LOAD_ADDRESS= 0x10000 23 24 PROG= bootxx_cd9660 25 SRCS?= cdboot.S 26 27 BINDIR= /usr/mdec 28 BINMODE= 444 29 30 .PATH: ${.CURDIR}/.. 31 32 LDFLAGS+= -nostdlib -Wl,-e,start 33 CPPFLAGS+= -I. -I${.CURDIR}/../lib -I${S} 34 CPPFLAGS+= -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} 35 CPPFLAGS+= -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS} 36 CPPFLAGS+= -DDISABLE_KEYPRESS 37 38 .if ${MACHINE_ARCH} == "x86_64" 39 LDFLAGS+= -Wl,-m,elf_i386 40 AFLAGS+= -m32 41 .endif 42 43 BUILDSYMLINKS+= $S/arch/i386/include machine \ 44 $S/arch/x86/include x86 45 46 DPSRCS+= machine x86 47 48 CLEANFILES+= ${PROG}.tmp 49 50 ${PROG}: ${OBJS} 51 ${_MKTARGET_LINK} 52 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \ 53 ${OBJS} 54 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' \ 55 | ${TOOL_SED} 's/^0*//' ); \ 56 echo "#### There are $$1 free bytes in ${PROG}" 57 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG} 58 rm -f ${PROG}.tmp 59 60 .include <bsd.prog.mk> 61