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