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