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