1 # $NetBSD: Makefile,v 1.13 2004/01/05 15:17:54 nonaka Exp $ 2 3 NOMAN= # defined 4 5 .include <bsd.own.mk> 6 7 COMMON= ${.CURDIR}/../common 8 COMMONOBJ!= cd ${COMMON} && ${PRINTOBJDIR} 9 10 .PATH: ${.CURDIR}/../boot ${COMMONOBJ} 11 12 S= ${.CURDIR}/../../../.. 13 L= ${COMMONOBJ}/lib 14 15 BASE?= boot 16 PROG= ${BASE} 17 NEWVERSWHAT= "BOOT" 18 19 SRCS= srt0.s 20 SRCS+= boot.c clock.c com.c conf.c cons.c devopen.c fd.c 21 SRCS+= filesystem.c inkernel.c io.c tgets.c prf.c monitor.c 22 SRCS+= kbd.c ns16550.c vers.c vreset.c vga.c video.c 23 24 CFLAGS= -Os -mmultiple -ffreestanding 25 AFLAGS= -x assembler-with-cpp -traditional-cpp 26 27 CPPFLAGS= -nostdinc -I${.OBJDIR} -I${.CURDIR}/../mkbootimage -I${S} 28 CPPFLAGS+= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes 29 CPPFLAGS+= -D_STANDALONE -DDBMONITOR -DRELOC=${RELOC} -DUSE_SCAN 30 CPPFLAGS+= -D__daddr_t=int32_t 31 32 .if (${BASE} == "boot") 33 CPPFLAGS+= -DCONS_VGA 34 #CPPFLAGS+= -DCONS_FB 35 .elif (${BASE} == "boot_com0") 36 CPPFLAGS+= -DCONS_SERIAL -DCOMSPEED=9600 -DCOMPORT=0x3f8 37 .endif 38 39 OBJDUMP?= objdump 40 STRIPFLAG= 41 BINMODE= 444 42 43 # XXX SHOULD NOT NEED TO DEFINE THESE! 44 LIBCRT0= 45 LIBC= 46 LIBCRTBEGIN= 47 LIBCRTEND= 48 49 RELOC= 0x800000 50 HEAD_SIZE= `${OBJDUMP} -h ${.OBJDIR}/${PROG} | grep \.text | awk '{print $$6}'` 51 KERN_OFFSET= `ls -l ${.OBJDIR}/${PROG} | awk '{print $$5}'` 52 53 CLEANFILES+= vers.c machine powerpc 54 55 LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a 56 57 .BEGIN: machine powerpc 58 .NOPATH: machine powerpc 59 realdepend realall: machine powerpc 60 61 machine:: 62 -rm -f $@ 63 ln -s ${S}/arch/${MACHINE}/include $@ 64 65 powerpc:: 66 -rm -f $@ 67 ln -s ${S}/arch/powerpc/include $@ 68 69 vers.c: ${.CURDIR}/../boot/version 70 ${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/../boot/version "prep" ${NEWVERSWHAT} 71 72 ${PROG}: ${OBJS} machine powerpc 73 ${LD} -o ${PROG} -s -N -T ${.CURDIR}/../boot/ld.script \ 74 -Ttext ${RELOC} ${OBJS} ${LIBS} 75 ${COMPILE.c} -DKERN_OFFSET=${KERN_OFFSET} -DHEAD_SIZE=0x${HEAD_SIZE} \ 76 ${.CURDIR}/../boot/inkernel.c 77 ${LD} -o ${PROG} -s -N -T ${.CURDIR}/../boot/ld.script \ 78 -Ttext ${RELOC} ${OBJS} ${LIBS} 79 80 .include <bsd.prog.mk> 81