Makefile revision 1.12
1#	$NetBSD: Makefile,v 1.12 2004/01/05 15:15:26 nonaka 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
30CPPFLAGS+= -D__daddr_t=int32_t
31
32.if (${BASE} == "boot")
33CPPFLAGS+= -DCONS_VGA
34#CPPFLAGS+= -DCONS_FB
35.elif (${BASE} == "boot_com0")
36CPPFLAGS+= -DCONS_SERIAL -DCOMSPEED=9600 -DCOMPORT=0x3f8
37.endif
38
39OBJDUMP?= objdump
40STRIPFLAG=
41BINMODE= 444
42
43# XXX SHOULD NOT NEED TO DEFINE THESE!
44LIBCRT0=
45LIBC=
46LIBCRTBEGIN=
47LIBCRTEND=
48
49RELOC= 0x800000
50HEAD_SIZE= `${OBJDUMP} -h ${.OBJDIR}/${PROG} | grep \.text | awk '{print $$6}'`
51KERN_OFFSET= `ls -l ${.OBJDIR}/${PROG} | awk '{print $$5}'`
52
53CLEANFILES+= vers.c machine powerpc
54
55LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a
56
57.BEGIN: machine powerpc
58.NOPATH: machine powerpc
59realdepend realall: machine powerpc
60
61machine::
62	-rm -f $@
63	ln -s ${S}/arch/${MACHINE}/include $@
64
65powerpc::
66	-rm -f $@
67	ln -s ${S}/arch/powerpc/include $@
68
69vers.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