xref: /netbsd-src/sys/arch/i386/stand/mbr/Makefile.mbr (revision 122b5006ee1bd67145794b4cde92f4fe4781a5ec)
1#	$NetBSD: Makefile.mbr,v 1.21 2018/07/25 23:45:32 kamil 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:}
48AFLAGS.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