Home | History | Annotate | Line # | Download | only in boot
Makefile revision 1.10
      1 #	$NetBSD: Makefile,v 1.10 2003/10/08 01:40:23 simonb 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+= -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 
     31 .if (${BASE} == "boot")
     32 CPPFLAGS+= -DCONS_VGA
     33 #CPPFLAGS+= -DCONS_FB
     34 .elif (${BASE} == "boot_com0")
     35 CPPFLAGS+= -DCONS_SERIAL -DCOMSPEED=9600 -DCOMPORT=0x3f8
     36 .endif
     37 
     38 OBJDUMP?= objdump
     39 STRIPFLAG=
     40 BINMODE= 444
     41 
     42 # XXX SHOULD NOT NEED TO DEFINE THESE!
     43 LIBCRT0=
     44 LIBC=
     45 LIBCRTBEGIN=
     46 LIBCRTEND=
     47 
     48 RELOC= 0x800000
     49 HEAD_SIZE= `${OBJDUMP} -h ${.OBJDIR}/${PROG} | grep \.text | awk '{print $$6}'`
     50 KERN_OFFSET= `ls -l ${.OBJDIR}/${PROG} | awk '{print $$5}'`
     51 
     52 CLEANFILES+= vers.c machine powerpc
     53 
     54 LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a
     55 
     56 .BEGIN: machine powerpc
     57 .NOPATH: machine powerpc
     58 realdepend realall: machine powerpc
     59 
     60 machine::
     61 	-rm -f $@
     62 	ln -s ${S}/arch/${MACHINE}/include $@
     63 
     64 powerpc::
     65 	-rm -f $@
     66 	ln -s ${S}/arch/powerpc/include $@
     67 
     68 vers.c: ${.CURDIR}/../boot/version
     69 	sh ${S}/conf/newvers_stand.sh ${.CURDIR}/../boot/version "prep" ${NEWVERSWHAT}
     70 
     71 ${PROG}: ${OBJS} machine powerpc
     72 	${LD} -o ${PROG} -s -N -T ${.CURDIR}/../boot/ld.script \
     73 		-Ttext ${RELOC} ${OBJS} ${LIBS}
     74 	${COMPILE.c} -DKERN_OFFSET=${KERN_OFFSET} -DHEAD_SIZE=0x${HEAD_SIZE} \
     75 		${.CURDIR}/../boot/inkernel.c
     76 	${LD} -o ${PROG} -s -N -T ${.CURDIR}/../boot/ld.script \
     77 		-Ttext ${RELOC} ${OBJS} ${LIBS}
     78 
     79 .include <bsd.prog.mk>
     80