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