Home | History | Annotate | Line # | Download | only in stand
      1  1.32  christos #	$NetBSD: Makefile.buildboot,v 1.32 2016/10/01 13:57:44 christos Exp $
      2  1.18       mrg #
      3  1.18       mrg # This file is for the sparc `boot' and `bootxx' only; it does not
      4  1.18       mrg # currently play well on a 64-bit system.
      5   1.1       mrg 
      6  1.32  christos NOSSP=		# defined
      7  1.32  christos NOPIE=		# defined
      8  1.32  christos NOMAN=		# defined
      9  1.32  christos 
     10   1.1       mrg S=	${.CURDIR}/../../../..
     11   1.1       mrg 
     12   1.4        pk .PATH: ${.CURDIR}/../common ${.CURDIR}/../../sparc
     13   1.1       mrg 
     14  1.28  christos COMMONSOURCE=	srt0.S promdev.c dvma.c promlib.c isfloppy.c
     15   1.1       mrg 
     16   1.1       mrg SRCS=		${COMMONSOURCE} ${PROGSOURCE}
     17   1.1       mrg BINMODE=	444
     18   1.1       mrg 
     19  1.31    martin .include <bsd.own.mk>
     20  1.31    martin 
     21  1.15        pk #
     22  1.15        pk # The relocation address for `boot' must leave enough free memory below
     23  1.15        pk # it to load a kernel at address 0x4000. On the other hand, on some
     24  1.15        pk # machines, the PROM uses memory in the upper portion of the first 4MB
     25  1.15        pk # segment, depending on the actual memory bank configuration probably.
     26  1.15        pk # Our boot program must stear clear of that as well.
     27  1.15        pk #
     28  1.15        pk # Relocating `boot' at 0x388000 seems to provide a working compromise
     29  1.15        pk # on the machines tested so far.
     30  1.15        pk #
     31  1.15        pk RELOC_DEFAULT?=	388000
     32  1.14        pk RELOCS=		$(RELOC_DEFAULT)
     33  1.14        pk #RELOCS+=	200000 400000 700000		# additional link addresses
     34  1.14        pk 
     35  1.11        pk # `bootxx' is linked at a different address to circumvent i-cache
     36  1.11        pk # flushing issues on Hypersparcs
     37  1.14        pk RELOC_BOOTXX=	300000
     38   1.1       mrg 
     39  1.19        pk CPPFLAGS+=	-D_STANDALONE -DSUN4 -DSUN4C -DSUN4M -DSUN4D -DHEAP_VARIABLE
     40   1.1       mrg 
     41   1.5        pk CPPFLAGS+=	-I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
     42  1.26   tsutsui CPPFLAGS+=	-I${.CURDIR}/../../../../../common/include
     43  1.30     joerg CFLAGS=		${${ACTIVE_CC} == "clang":? -Oz -fomit-frame-pointer : -Os } -fno-unwind-tables
     44  1.30     joerg AFLAGS+=	${${ACTIVE_CC} == "clang":? -Oz :}
     45  1.21       mrg CFLAGS+=	-Wall -Wstrict-prototypes -Wmissing-prototypes -ffreestanding
     46   1.1       mrg 
     47   1.1       mrg ### find out what to use for libkern
     48   1.1       mrg KERN_AS=	library
     49   1.1       mrg .include "${S}/lib/libkern/Makefile.inc"
     50   1.1       mrg LIBKERN=	${KERNLIB}
     51   1.1       mrg 
     52   1.1       mrg .ifdef INCLUDE_LIBZ
     53   1.1       mrg ### find out what to use for libz
     54   1.1       mrg Z_AS=		library
     55   1.1       mrg .include "${S}/lib/libz/Makefile.inc"
     56   1.1       mrg LIBZ=		${ZLIB}
     57   1.1       mrg .endif
     58   1.1       mrg 
     59   1.1       mrg ### find out what to use for libsa
     60   1.1       mrg SA_AS=		library
     61   1.6  christos SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
     62   1.1       mrg .include "${S}/lib/libsa/Makefile.inc"
     63   1.1       mrg LIBSA=		${SALIB}
     64   1.5        pk 
     65  1.25   tsutsui .include <bsd.klinks.mk>
     66  1.20  nakayama 
     67  1.27  dholland cleandir distclean: .WAIT cleanlibdir
     68  1.20  nakayama 
     69  1.20  nakayama cleanlibdir:
     70  1.22       jmc 	-rm -rf lib
     71