1 # $NetBSD: Makefile.bootxx,v 1.9 2016/09/08 14:42:33 christos 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