1#	$NetBSD: Makefile.bootxx,v 1.9 2016/09/08 14:42:33 christos Exp $
2
3NOMAN		=
4NOPIE		=
5
6.include <bsd.init.mk>
7
8BINMODE		= 0444
9
10S		= ${.CURDIR}/../../../..
11COMMON		= ${.CURDIR}/../common
12
13.PATH:		${COMMON}
14
15PROG		= ${BASE}
16SRCS		+= entry.S bootxx.c
17SRCS		+= boot_device.c floppy_2d.c floppy_2hd_ibmpc.c
18#SRCS		+= floppy_2hc.c
19BINMODE		= 444
20
21LINKFLAGS	= -T ${COMMON}/bootxx.ldscript -S -N
22MIPSFLAGS	= -mips1 -G 0 -mno-abicalls
23DEBUGFLAGS	= -Wall -Werror
24DEBUGFLAGS	+= -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
25DEBUGFLAGS	+= -Wno-format-zero-length -Wno-sign-compare
26OPTFLAGS	= -Os -mmemcpy -fno-unwind-tables
27FLAGS		= ${MIPSFLAGS} ${DEBUGFLAGS} ${OPTFLAGS}
28AFLAGS		= -xassembler-with-cpp -D_LOCORE ${FLAGS}
29CFLAGS		= ${FLAGS} -ffreestanding
30
31CPPFLAGS	+= -D_STANDALONE
32CPPFLAGS	+= -nostdinc -I${.OBJDIR} -I${COMMON} -I${S}
33CPPFLAGS	+= -D__daddr_t=int32_t
34
35CLEANFILES	+= ${PROG} ${PROG}.bin ${PROG}.elf ${PROG}.tmp
36
37KERN_AS		= library
38.include	"${S}/lib/libkern/Makefile.inc"
39LIBKERN		= ${KERNLIB}
40
41LIBS		= ${LIBKERN}
42
43# XXX SHOULD NOT NEED TO DEFINE THESE!
44LIBCRT0=
45LIBCRTI=
46LIBC=
47LIBCRTBEGIN=
48LIBCRTEND=
49
50${PROG}: ${OBJS} ${LIBS}
51	${_MKTARGET_LINK}
52	${LD} ${LINKFLAGS} -o ${PROG}.elf ${OBJS} ${LIBS}
53	${OBJCOPY} -O binary ${PROG}.elf ${BASE}.bin
54	ls -al ${BASE}.bin
55	dd if=${BASE}.bin of=${PROG}.tmp bs=4096 conv=sync
56	mv ${PROG}.tmp ${PROG}
57	ls -al ${PROG}
58#	-rm -f ${BASE}.tmp
59
60cleandir distclean: .WAIT cleanlibdir
61
62cleanlibdir:
63	-rm -rf lib
64
65.include <bsd.klinks.mk>
66.include <bsd.prog.mk>
67