1#	$NetBSD: Makefile,v 1.24 2011/01/21 15:59:08 joerg 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
15MKBOOTIMAGE= ${.CURDIR}/../../../powerpc/stand/mkbootimage
16
17BASE?=		boot
18PROG=		${BASE}
19NEWVERSWHAT=	"BOOT"
20
21SRCS= srt0.s
22SRCS+= boot.c clock.c com.c conf.c cons.c devopen.c
23SRCS+= filesystem.c inkernel.c io.c tgets.c prf.c monitor.c
24SRCS+= kbd.c ns16550.c vers.c vreset.c vga.c 
25
26CFLAGS= -Os -mmultiple -ffreestanding
27CFLAGS+= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
28AFLAGS= -x assembler-with-cpp
29
30CPPFLAGS= -nostdinc -I${.OBJDIR} -I${MKBOOTIMAGE} -I${S}
31CPPFLAGS+= -D_STANDALONE -DRELOC=${RELOC} -DUSE_SCAN
32CPPFLAGS+= -D__daddr_t=int32_t
33#CPPFLAGS+= -DDBMONITOR
34
35.if (${BASE} == "boot")
36CPPFLAGS+= -DCONS_VGA -DVGA_RESET
37.elif (${BASE} == "boot_com0")
38CPPFLAGS+= -DCONS_SERIAL -DCOMSPEED=9600 -DCOMPORT=0x3f8
39.elif (${BASE} == "boot_com0_vreset")
40CPPFLAGS+= -DCONS_SERIAL -DCOMSPEED=9600 -DCOMPORT=0x3f8 -DVGA_RESET
41.endif
42
43STRIPFLAG=
44BINMODE= 444
45
46# XXX SHOULD NOT NEED TO DEFINE THESE!
47LIBCRT0=
48LIBC=
49LIBCRTBEGIN=
50LIBCRTEND=
51
52RELOC= 0x800000
53
54CLEANFILES+= vers.c machine powerpc ${PROG}.elf
55
56LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a
57
58.if !make(obj) && !make(clean) && !make(cleandir)
59.BEGIN: machine powerpc
60.NOPATH: machine powerpc
61
62machine::
63	-rm -f $@
64	ln -s ${S}/arch/${MACHINE}/include $@
65
66powerpc::
67	-rm -f $@
68	ln -s ${S}/arch/powerpc/include $@
69.endif
70
71vers.c: ${.CURDIR}/../boot/version
72	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
73	    ${.CURDIR}/../boot/version "prep" ${NEWVERSWHAT}
74
75${PROG}: ${OBJS} ${LIBS}
76	${LD} -o ${PROG}.elf -N -T ${.CURDIR}/../boot/ld.script \
77		-Ttext ${RELOC} ${OBJS} ${LIBS}
78	${STRIP} -o ${PROG} ${PROG}.elf
79
80.include <bsd.prog.mk>
81