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