Makefile.mbr revision 1.19.28.2 1 # $NetBSD: Makefile.mbr,v 1.19.28.2 2018/07/28 04:37:35 pgoyette 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 AFLAGS.gpt.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
49
50 ${PROG}: ${OBJS}
51 ${_MKTARGET_LINK}
52 ${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${LOADADDR} ${OBJS}
53 @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<mbr_space\>' \
54 | ${TOOL_SED} 's/^0*//' ); \
55 echo "#### There are $$1 free bytes in ${PROG}"
56 ${OBJCOPY} -O binary ${PROG}.tmp ${PROG}
57 rm -f ${PROG}.tmp
58
59 .include <bsd.prog.mk>
60