1# $NetBSD: Makefile.mbr,v 1.22 2024/06/29 13:22:08 rin Exp $ 2 3S= ${.CURDIR}/../../../../.. 4 5NOLIBCSANITIZER=# defined 6NOSANITIZER= # defined 7NOMAN= # defined 8 9LIBCRT0= # nothing 10LIBCRTI= # nothing 11LIBCRTBEGIN= # nothing 12LIBCRTEND= # nothing 13LIBC= # nothing 14 15PIE_CFLAGS= 16PIE_LDFLAGS= 17PIE_AFLAGS= 18 19.include <bsd.own.mk> 20 21STRIPFLAG= # override 22 23SRCS?= mbr.S 24 25BINDIR= /usr/mdec 26BINMODE= 444 27 28.PATH: ${.CURDIR}/.. 29 30LDFLAGS+= -nostdlib -Wl,-e,start 31CPPFLAGS+= -I. -I${.CURDIR}/../../lib -I${S} 32 33.if ${MACHINE_ARCH} == "x86_64" 34LDFLAGS+= -Wl,-m,elf_i386 35AFLAGS+= -m32 36.endif 37 38BUILDSYMLINKS+= $S/arch/i386/include machine \ 39 $S/arch/x86/include x86 40 41DPSRCS+= machine x86 42 43CLEANFILES+= ${PROG}.tmp 44 45LOADADDR= 0x8800 46 47AFLAGS.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