1 # $NetBSD: Makefile,v 1.14 2014/01/12 15:26:29 tsutsui 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 LIBCRTI= # nothing 18 LIBCRTBEGIN= # nothing 19 LIBCRTEND= # nothing 20 LIBC= # nothing 21 22 PRIMARY_LOAD_ADDRESS= 0x1000 23 SECONDARY_LOAD_ADDRESS= 0x10000 24 25 PROG= bootxx_cd9660 26 SRCS?= cdboot.S 27 28 BINDIR= /usr/mdec 29 BINMODE= 444 30 31 .PATH: ${.CURDIR}/.. 32 33 LDFLAGS+= -nostdlib -Wl,-e,start 34 CPPFLAGS+= -I. -I${.CURDIR}/../lib -I${S} 35 CPPFLAGS+= -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} 36 CPPFLAGS+= -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS} 37 CPPFLAGS+= -DDISABLE_KEYPRESS 38 39 .if ${MACHINE_ARCH} == "x86_64" 40 LDFLAGS+= -Wl,-m,elf_i386 41 AFLAGS+= -m32 42 .endif 43 44 BUILDSYMLINKS+= $S/arch/i386/include machine \ 45 $S/arch/x86/include x86 46 47 DPSRCS+= machine x86 48 49 CLEANFILES+= ${PROG}.tmp 50 51 ${PROG}: ${OBJS} 52 ${_MKTARGET_LINK} 53 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \ 54 ${OBJS} 55 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' \ 56 | ${TOOL_SED} 's/^0*//' ); \ 57 echo "#### There are $$1 free bytes in ${PROG}" 58 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG} 59 rm -f ${PROG}.tmp 60 61 .include <bsd.prog.mk> 62