1 # $NetBSD: Makefile.mbr,v 1.22 2024/06/29 13:22:08 rin Exp $ 2 3 S= ${.CURDIR}/../../../../.. 4 5 NOLIBCSANITIZER=# defined 6 NOSANITIZER= # defined 7 NOMAN= # defined 8 9 LIBCRT0= # nothing 10 LIBCRTI= # nothing 11 LIBCRTBEGIN= # nothing 12 LIBCRTEND= # nothing 13 LIBC= # nothing 14 15 PIE_CFLAGS= 16 PIE_LDFLAGS= 17 PIE_AFLAGS= 18 19 .include <bsd.own.mk> 20 21 STRIPFLAG= # override 22 23 SRCS?= mbr.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 33 .if ${MACHINE_ARCH} == "x86_64" 34 LDFLAGS+= -Wl,-m,elf_i386 35 AFLAGS+= -m32 36 .endif 37 38 BUILDSYMLINKS+= $S/arch/i386/include machine \ 39 $S/arch/x86/include x86 40 41 DPSRCS+= machine x86 42 43 CLEANFILES+= ${PROG}.tmp 44 45 LOADADDR= 0x8800 46 47 AFLAGS.mbr.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} 48 49 ${PROG}: ${OBJS} 50 ${_MKTARGET_LINK} 51 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${LOADADDR} ${OBJS} 52 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<mbr_space\>' \ 53 | ${TOOL_SED} 's/^0*//' ); \ 54 echo "#### There are $$1 free bytes in ${PROG}" 55 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG} 56 rm -f ${PROG}.tmp 57 58 .include <bsd.prog.mk> 59