-# $NetBSD: Makefile.mbr,v 1.18 2011/05/20 15:05:02 joerg Exp $
+# $NetBSD: Makefile.mbr,v 1.17 2009/11/20 17:28:19 dsl Exp $
-S= ${.CURDIR}/../../../../..
+.if !defined(COMPILER_TYPE) || ${COMPILER_TYPE} != "gnu"
+CC:=clang
+COMPILER_TYPE:=gnu
+.endif
NOMAN= # defined
.include <bsd.own.mk>
STRIPFLAG= # override
+TOOL_SED?= sed
+NM?= nm
SRCS?= mbr.S
.PATH: ${.CURDIR}/..
+LOADADDR= 0x8800
+
LDFLAGS+= -nostdlib -Wl,-e,start
-CPPFLAGS+= -I. -I${.CURDIR}/../../lib -I${S}
+CPPFLAGS+= -I. -I${.CURDIR}/../../lib -DLOADADDR=${LOADADDR}
.if ${MACHINE_ARCH} == "x86_64"
LDFLAGS+= -Wl,-m,elf_i386
AFLAGS+= -m32
.endif
-BUILDSYMLINKS+= $S/arch/i386/include machine \
- $S/arch/x86/include x86
+AFLAGS+= "-Wa,--divide"
-DPSRCS+= machine x86
+# NetBSD can be compiled from a foreign host, MINIX do not. So commented out.
+# Make sys/ a local thing for benefit of cross-compilers
+#S= ${.CURDIR}/../../../../..
+#CPPFLAGS+= -I${S}
+# And same for machine/; need a bit more work because of symlink
+#BUILDSYMLINKS+= $S/arch/i386/include machine \
+# $S/arch/x86/include x86
+#DPSRCS+= machine x86
CLEANFILES+= ${PROG}.tmp
-LOADADDR= 0x8800
-
-AFLAGS.mbr.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
-AFLAGS.gpt.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
-
${PROG}: ${OBJS}
${_MKTARGET_LINK}
${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${LOADADDR} ${OBJS}
- @ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\<mbr_space\>' \
+ @ set -- $$( ${NM} -t d ${PROG}.tmp | grep 'mbr_space' \
| ${TOOL_SED} 's/^0*//' ); \
echo "#### There are $$1 free bytes in ${PROG}"
${OBJCOPY} -O binary ${PROG}.tmp ${PROG}