xref: /netbsd-src/sys/arch/sparc/stand/Makefile.buildboot (revision 9fbd88883c38d0c0fbfcbe66d76fe6b0fab3f9de)
1#	$NetBSD: Makefile.buildboot,v 1.17 2001/12/12 01:49:51 tv Exp $
2
3S=	${.CURDIR}/../../../..
4
5.PATH: ${.CURDIR}/../common ${.CURDIR}/../../sparc
6
7COMMONSOURCE=	srt0.S promdev.c dvma.c promlib.c
8
9SRCS=		${COMMONSOURCE} ${PROGSOURCE}
10NOMAN=		# defined
11BINMODE=	444
12
13#
14# The relocation address for `boot' must leave enough free memory below
15# it to load a kernel at address 0x4000. On the other hand, on some
16# machines, the PROM uses memory in the upper portion of the first 4MB
17# segment, depending on the actual memory bank configuration probably.
18# Our boot program must stear clear of that as well.
19#
20# Relocating `boot' at 0x388000 seems to provide a working compromise
21# on the machines tested so far.
22#
23RELOC_DEFAULT?=	388000
24RELOCS=		$(RELOC_DEFAULT)
25#RELOCS+=	200000 400000 700000		# additional link addresses
26
27# `bootxx' is linked at a different address to circumvent i-cache
28# flushing issues on Hypersparcs
29RELOC_BOOTXX=	300000
30
31CPPFLAGS+=	-D_STANDALONE -DSUN4 -DSUN4C -DHEAP_VARIABLE
32
33CPPFLAGS+=	-I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
34CFLAGS=		-O2
35CFLAGS+=	-Wall -Wstrict-prototypes -Wmissing-prototypes
36
37### find out what to use for libkern
38KERN_AS=	library
39.include "${S}/lib/libkern/Makefile.inc"
40LIBKERN=	${KERNLIB}
41
42.ifdef INCLUDE_LIBZ
43### find out what to use for libz
44Z_AS=		library
45.include "${S}/lib/libz/Makefile.inc"
46LIBZ=		${ZLIB}
47.endif
48
49### find out what to use for libsa
50SA_AS=		library
51SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
52.include "${S}/lib/libsa/Makefile.inc"
53LIBSA=		${SALIB}
54
55.if !make(obj) && !make(clean) && !make(cleandir)
56.BEGIN:
57	@([ -h machine ] || ln -s ${S}/arch/${MACHINE}/include machine)
58.NOPATH: machine
59.endif
60CLEANFILES+= machine
61