Home | History | Annotate | Line # | Download | only in boot
Makefile revision 1.4.16.2
      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