1 # $NetBSD: Makefile,v 1.19.8.2 2017/04/26 02:53:02 pgoyette Exp $ 2 3 WARNS ?= 1 4 NOMAN = 5 6 BINMODE = 444 7 8 S = ${.CURDIR}/../../../.. 9 COMMON = ${.CURDIR}/../common 10 11 LIBSADIR = ${S}/lib/libsa 12 SYSVBFSDIR = ${S}/fs/sysvbfs 13 EWS4800MIPSDIR = ${.CURDIR}/../../ews4800mips 14 DEVDIR = ${.CURDIR}/../../dev 15 16 # XXX SHOULD NOT NEED TO DEFINE THESE! 17 LIBCRT0= 18 LIBCRTI= 19 LIBC= 20 LIBCRTBEGIN= 21 LIBCRTEND= 22 23 .PATH: ${COMMON} ${LIBSADIR} ${SYSVBFSDIR} \ 24 ${EWS4800MIPSDIR} ${SBDDIR} ${DEVDIR} 25 26 COFFHDRFIX = ${.OBJDIR}/coffhdrfix 27 28 PROG = boot 29 BOOT_KERNEL = boot_kernel 30 FILES += ${PROG}.coff ${BOOT_KERNEL}.gz # XXX hack to install these 31 SRCS = start.S boot.c prompt.c delay.c cmd.c loader.c 32 SRCS += bfs_subr.o disk.c diskutil.c 33 SRCS += devopen.c datafs.c bootfs.c ustarfs.c 34 SRCS += lance.c ether_if.c 35 SRCS += device_test.c cop0.c mem.c 36 SRCS += boot_device.c floppy_2d.c floppy_2hd_ibmpc.c 37 #SRCS += floppy_2hc.c 38 SRCS += console.c cons_rom.c cons_fb.c cons_zskbd.c cons_zs.c 39 BINKERNEL_C = ${COMMON}/binkernel.c 40 BINKERNEL_SIZE = '2 * 1024 * 1024 + 32 * 1024' 41 BINKERNEL_O = binkernel.o 42 BINKERNEL_DUMMY_O= binkernel_dummy.o 43 44 # ${S}/lib/libsa 45 SRCS += dev_net.c 46 # ${S}/fs/sysvbfs 47 SRCS += bfs.c 48 # ../../dev 49 SRCS += ga.c 50 # ../../ews4800mips 51 SRCS += pdinfo.c vtoc.c 52 53 .include "${S}/conf/newvers_stand.mk" 54 55 TEXTADDR = 0xa0a00000 56 LINKFLAGS = -T ${S}/arch/mips/conf/stand.ldscript -Ttext ${TEXTADDR} \ 57 -e start -N 58 COFFLDFLAGS = -T ${COMMON}/coffboot.ldscript -N 59 60 MIPSFLAGS = -mips1 -G 0 -mno-abicalls 61 DEBUGFLAGS = -Wall -Werror 62 DEBUGFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith 63 DEBUGFLAGS += -Wno-format-zero-length -Wno-sign-compare 64 OPTFLAGS = -Os -mmemcpy 65 FLAGS = ${MIPSFLAGS} ${DEBUGFLAGS} ${OPTFLAGS} 66 AFLAGS = -xassembler-with-cpp -D_LOCORE ${FLAGS} 67 CFLAGS = ${FLAGS} -ffreestanding 68 69 CPPFLAGS += -D_STANDALONE -DSUPPORT_BOOTP 70 CPPFLAGS += -nostdinc -I${.OBJDIR} -I${.CURDIR} -I${COMMON} -I${S} 71 CPPFLAGS += -D__daddr_t=int32_t 72 #CPPFLAGS += -DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG 73 #CPPFLAGS += -DRPC_DEBUG -DRARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID 74 75 CLEANFILES += ${BINKERNEL_DUMMY_O} ${BINKERNEL_O} 76 CLEANFILES += ${PROG} ${PROG}.elf ${PROG}.coff ${PROG}.tmp ${PROG}.dis 77 CLEANFILES += ${COFFHDRFIX} 78 CLEANFILES += ${BOOT_KERNEL} ${BOOT_KERNEL}.elf ${BOOT_KERNEL}.tmp 79 CLEANFILES += ${BOOT_KERNEL}.gz ${BOOT_KERNEL}.gz.tmp 80 81 .include "${S}/lib/libkern/Makefile.inc" 82 LIBKERN= ${KERNLIB} 83 84 .include "${S}/lib/libz/Makefile.inc" 85 LIBZ= ${ZLIB} 86 87 CPPFLAGS+= -DLIBSA_ENABLE_LS_OP 88 SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes SA_ENABLE_LS_OP=yes 89 .include "${S}/lib/libsa/Makefile.inc" 90 LIBSA= ${SALIB} 91 92 LIBS = ${LIBSA} ${LIBZ} ${LIBKERN} 93 94 # fixup GNU binutils file offset error. 95 coffhdrfix: ${COMMON}/coffhdrfix.c 96 ${HOST_CC} -o ${COFFHDRFIX} ${COMMON}/coffhdrfix.c 97 98 cleandir distclean: .WAIT cleanlibdir 99 100 cleanlibdir: 101 -rm -rf lib 102 103 ${BINKERNEL_DUMMY_O}: ${BINKERNEL_C} 104 ${_MKTARGET_COMPILE} 105 ${COMPILE.c} -DKERNEL_SIZE=0 ${BINKERNEL_C} -o ${.TARGET} 106 107 ${BINKERNEL_O}: ${BINKERNEL_C} 108 ${_MKTARGET_COMPILE} 109 ${COMPILE.c} -DKERNEL_SIZE=${BINKERNEL_SIZE} ${BINKERNEL_C} \ 110 -o ${.TARGET} 111 112 all realall: ${PROG}.coff ${BOOT_KERNEL}.gz 113 114 ${PROG}: ${BINKERNEL_DUMMY_O} ${OBJS} ${LIBS} 115 ${_MKTARGET_LINK} 116 ${LD} ${LINKFLAGS} -S -o ${PROG}.elf ${OBJS} ${LIBS} \ 117 ${BINKERNEL_DUMMY_O} 118 ${OBJDUMP} -h ${PROG}.elf 119 # ${OBJDUMP} -m mips:4000 -d ${PROG}.elf > ${PROG}.dis 120 mv ${PROG}.elf ${PROG} 121 ls -al ${PROG} 122 123 .include <bsd.klinks.mk> 124 .include <bsd.prog.mk> 125 126 ${PROG}.coff: ${PROG} 127 ${_MKTARGET_CREATE} 128 ${ELF2ECOFF} ${PROG} ${.TARGET}.tmp 129 mv ${.TARGET}.tmp ${.TARGET} 130 131 ${BOOT_KERNEL}.gz: ${BINKERNEL_O} ${OBJS} ${LIBS} 132 ${_MKTARGET_LINK} 133 ${LD} ${LINKFLAGS} -o ${BOOT_KERNEL}.elf ${OBJS} ${LIBS} \ 134 ${BINKERNEL_O} 135 mv ${BOOT_KERNEL}.elf ${BOOT_KERNEL} 136 ${OBJDUMP} -h ${BOOT_KERNEL} 137 ${TOOL_GZIP_N} -9c ${BOOT_KERNEL} > ${.TARGET}.tmp 138 mv ${.TARGET}.tmp ${.TARGET} 139 ls -al ${.TARGET} 140 141 COPTS.ustarfs.c+= -fno-strict-aliasing 142