xref: /netbsd-src/sys/arch/i386/stand/cdboot/Makefile (revision aceb213538ec08a74028e213127af18aa17bf1cf)
1#	$NetBSD: Makefile,v 1.13 2013/09/12 05:54:38 joerg 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
17LIBCRTBEGIN=	# nothing
18LIBCRTEND=	# nothing
19LIBC=		# nothing
20
21PRIMARY_LOAD_ADDRESS=	0x1000
22SECONDARY_LOAD_ADDRESS=	0x10000
23
24PROG=		bootxx_cd9660
25SRCS?=		cdboot.S
26
27BINDIR=		/usr/mdec
28BINMODE=	444
29
30.PATH:		${.CURDIR}/..
31
32LDFLAGS+=	-nostdlib -Wl,-e,start
33CPPFLAGS+=	-I. -I${.CURDIR}/../lib -I${S}
34CPPFLAGS+=	-DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS}
35CPPFLAGS+=	-DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS}
36CPPFLAGS+=	-DDISABLE_KEYPRESS
37
38.if ${MACHINE_ARCH} == "x86_64"
39LDFLAGS+=	-Wl,-m,elf_i386
40AFLAGS+=	-m32
41.endif
42
43BUILDSYMLINKS+=	$S/arch/i386/include	machine \
44		$S/arch/x86/include	x86
45
46DPSRCS+=	machine x86
47
48CLEANFILES+=	${PROG}.tmp
49
50${PROG}: ${OBJS}
51	${_MKTARGET_LINK}
52	${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \
53	    ${OBJS}
54	@ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<free_space\>' \
55		| ${TOOL_SED} 's/^0*//'  ); \
56		echo "#### There are $$1 free bytes in ${PROG}"
57	${OBJCOPY} -O binary ${PROG}.tmp ${PROG}
58	rm -f ${PROG}.tmp
59
60.include <bsd.prog.mk>
61