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