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