NetBSD/sys/arch/sparc/conf/Makefile.sparc
atatat d5de3c2fb2 Abstract out a large chunk of the kernel build machinery so that new
build features (such as ross's DEBUGLIST) can easily be applied to all
ports.  This should reduce the complexity of each port's kernel
Makefile considerably.  Line counts:

     227 arch/i386/conf/Makefile.i386.orig
      98 arch/i386/conf/Makefile.i386
     227 arch/alpha/conf/Makefile.alpha.orig
      99 arch/alpha/conf/Makefile.alpha
     219 arch/sparc/conf/Makefile.sparc.orig
     102 arch/sparc/conf/Makefile.sparc
     215 arch/vax/conf/Makefile.vax.orig
     102 arch/vax/conf/Makefile.vax
     253 conf/Makefile.kern.inc

Roll i386, alpha, sparc, and vax over to the new build machinery.
2001-11-16 00:23:02 +00:00

103 lines
2.0 KiB
Makefile

# $NetBSD: Makefile.sparc,v 1.76 2001/11/16 00:23:03 atatat Exp $
# Makefile for NetBSD
#
# This makefile is constructed from a machine description:
# config machineid
# Most changes should be made in the machine description
# /sys/arch/sparc/conf/``machineid''
# after which you should do
# config machineid
# Machine generic makefile changes should be made in
# /sys/arch/sparc/conf/Makefile.sparc
# after which config should be rerun for all machines of that type.
#
# To specify debugging, add the config line: makeoptions DEBUG="-g"
# A better way is to specify -g only for a few files.
#
# makeoptions DEBUGLIST="uvm* trap if_*"
MACHINE_ARCH= sparc
USETOOLS?= no
NEED_OWN_INSTALL_TARGET?=no
.include <bsd.own.mk>
##
## (1) port identification
##
SPARC= $S/arch/sparc
GENASSYM= ${SPARC}/sparc/genassym.cf
MD_CPPFLAGS=
##
## (2) compile settings
##
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D_KERNEL_OPT \
${MD_CPPFLAGS}
COPTS?= -O2
CFLAGS= ${DEBUG} ${COPTS} ${CWARNFLAGS}
# work around GCC (egcs-2.91.66) bug which is liable
# to use FPU registers as temporaries:
CFLAGS+= -mno-fpu
AFLAGS= -x assembler-with-cpp -traditional-cpp -D_LOCORE
##
## (3) libkern and compat
##
KERN_AS= obj
##
## (4) local objects, compile rules, and dependencies
##
MD_OBJS= locore.o
MD_CFILES=
MD_SFILES= ${SPARC}/sparc/locore.s
locore.o: ${SPARC}/sparc/locore.s assym.h
${NORMAL_S}
##
## (5) link settings
##
TEXTADDR?= F0004000
EXTRA_LINKFLAGS= -X
.if ${OBJECT_FMT} == "ELF"
KERN_LDSCRIPT?= kern.ldscript
LINKFORMAT= -n -T ${SPARC}/conf/${KERN_LDSCRIPT}
.else
LINKFORMAT= -N -p
.endif
##
## (6) port specific target dependencies
##
# depend on CPU configuration
bwtwo.o cgsix.o cgthree.o cgtwo.o cons.o dma.o esp.o fb.o if_ie.o: Makefile
ms.c obio.o zs.c autoconf.o clock.o cpu.o disksubr.o: Makefile
mem.o openprom.o pmap.o vm_machdep.o: Makefile
##
## (7) misc settings
##
##
## (8) config(8) generated machinery
##
%INCLUDES
%OBJS
%CFILES
%SFILES
%LOAD
%RULES
##
## (9) port independent kernel machinery
##
.include "$S/conf/Makefile.kern.inc"