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