xref: /netbsd-src/sys/arch/i386/stand/cdboot/Makefile (revision 6a25eb7024b553222a9eef82ee3a339df8765336)
1#	$NetBSD: Makefile,v 1.15 2018/06/02 14:30:07 christos Exp $
2
3S=		${.CURDIR}/../../../..
4
5AFLAGS.cdboot.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
6
7.include <bsd.init.mk>
8
9STRIPFLAG=	# nothing
10
11LIBCRT0=	# nothing
12LIBCRTI=	# nothing
13LIBCRTBEGIN=	# nothing
14LIBCRTEND=	# nothing
15LIBC=		# nothing
16
17PRIMARY_LOAD_ADDRESS=	0x1000
18SECONDARY_LOAD_ADDRESS=	0x10000
19
20PROG=		bootxx_cd9660
21SRCS?=		cdboot.S
22
23BINDIR=		/usr/mdec
24BINMODE=	444
25
26.PATH:		${.CURDIR}/..
27
28LDFLAGS+=	-nostdlib -Wl,-e,start
29CPPFLAGS+=	-I. -I${.CURDIR}/../lib -I${S}
30CPPFLAGS+=	-DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS}
31CPPFLAGS+=	-DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS}
32CPPFLAGS+=	-DDISABLE_KEYPRESS
33
34.if ${MACHINE_ARCH} == "x86_64"
35LDFLAGS+=	-Wl,-m,elf_i386
36AFLAGS+=	-m32
37.endif
38
39BUILDSYMLINKS+=	$S/arch/i386/include	machine \
40		$S/arch/x86/include	x86
41
42DPSRCS+=	machine x86
43
44CLEANFILES+=	${PROG}.tmp
45
46${PROG}: ${OBJS}
47	${_MKTARGET_LINK}
48	${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \
49	    ${OBJS}
50	@ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' \
51		| ${TOOL_SED} 's/^0*//'  ); \
52		echo "#### There are $$1 free bytes in ${PROG}"
53	${OBJCOPY} -O binary ${PROG}.tmp ${PROG}
54	rm -f ${PROG}.tmp
55
56.include <bsd.prog.mk>
57