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