Home | History | Annotate | Line # | Download | only in conf
Makefile.sparc64 revision 1.37.2.3
      1  1.37.2.3  jdolecek # 	$NetBSD: Makefile.sparc64,v 1.37.2.3 2002/06/23 17:42:03 jdolecek Exp $
      2  1.37.2.3  jdolecek 
      3  1.37.2.3  jdolecek #=========================================================================
      4  1.37.2.3  jdolecek #
      5  1.37.2.3  jdolecek #			***** WARNING ******
      6  1.37.2.3  jdolecek #
      7  1.37.2.3  jdolecek # ANYONE WHO CHANGES THIS MAKEFILE AND DOES NOT TEST BOTH A 32-BIT
      8  1.37.2.3  jdolecek # AND 64-BIT KERNEL WILL BE SHOT.
      9  1.37.2.3  jdolecek #
     10  1.37.2.3  jdolecek #=========================================================================
     11  1.37.2.3  jdolecek 
     12       1.1       eeh 
     13       1.1       eeh # Makefile for NetBSD
     14       1.1       eeh #
     15       1.1       eeh # This makefile is constructed from a machine description:
     16       1.1       eeh #	config machineid
     17       1.1       eeh # Most changes should be made in the machine description
     18       1.1       eeh #	/sys/arch/sparc64/conf/``machineid''
     19       1.1       eeh # after which you should do
     20       1.1       eeh #	config machineid
     21       1.1       eeh # Machine generic makefile changes should be made in
     22       1.1       eeh #	/sys/arch/sparc64/conf/Makefile.sparc64
     23       1.1       eeh # after which config should be rerun for all machines of that type.
     24  1.37.2.2   thorpej #
     25  1.37.2.2   thorpej # To specify debugging, add the config line: makeoptions DEBUG="-g"
     26  1.37.2.2   thorpej # A better way is to specify -g only for a few files.
     27  1.37.2.2   thorpej #
     28  1.37.2.2   thorpej #	makeoptions DEBUGLIST="uvm* trap if_*"
     29       1.1       eeh 
     30  1.37.2.3  jdolecek # Default to 32-bit.  Set the MACHINE_ARCH accordingly.
     31  1.37.2.3  jdolecek #
     32  1.37.2.3  jdolecek # You must also be using the correct toolchain or the kernel build
     33  1.37.2.3  jdolecek # will fail.
     34  1.37.2.3  jdolecek #
     35  1.37.2.2   thorpej LP64?=	no
     36  1.37.2.2   thorpej .if ${LP64} == "yes"
     37  1.37.2.2   thorpej MACHINE_ARCH=sparc64
     38       1.4       mrg .else
     39  1.37.2.2   thorpej MACHINE_ARCH=sparc
     40       1.9       mrg .endif
     41       1.9       mrg 
     42  1.37.2.2   thorpej USETOOLS?=	no
     43  1.37.2.2   thorpej NEED_OWN_INSTALL_TARGET?=no
     44  1.37.2.2   thorpej .include <bsd.own.mk>
     45       1.4       mrg 
     46  1.37.2.2   thorpej ##
     47  1.37.2.2   thorpej ## (1) port identification
     48  1.37.2.2   thorpej ##
     49       1.1       eeh SPARC64=	$S/arch/sparc64
     50  1.37.2.2   thorpej GENASSYM=	${SPARC64}/sparc64/genassym.cf
     51       1.1       eeh 
     52  1.37.2.2   thorpej ##
     53  1.37.2.2   thorpej ## (2) compile settings
     54  1.37.2.2   thorpej ##
     55  1.37.2.3  jdolecek CPPFLAGS+=	-Dsparc64 -D__sparc64__
     56  1.37.2.2   thorpej .if ${LP64} == "yes"
     57  1.37.2.3  jdolecek # 64-bit kernels
     58  1.37.2.3  jdolecek CPPFLAGS+=	-D_LP64 -Wa,-Av9a
     59  1.37.2.3  jdolecek AFLAGS+=	-Wa,-Av9a
     60      1.30       eeh .if defined(PROF)
     61  1.37.2.3  jdolecek # Profiling is only supported in the medium low memory model.
     62  1.37.2.3  jdolecek CFLAGS+=	-mcmodel=medlow
     63  1.37.2.3  jdolecek .else
     64  1.37.2.3  jdolecek # Since the kernel resides in the lower 32 bits, use medium low for now anyway.
     65  1.37.2.2   thorpej CFLAGS+=	-mcmodel=medlow
     66      1.30       eeh .endif
     67  1.37.2.3  jdolecek .else
     68  1.37.2.3  jdolecek # 32-bit kernels
     69  1.37.2.3  jdolecek CPPFLAGS+=	-m32 -Wa,-Av8plusa -mcpu=ultrasparc
     70  1.37.2.3  jdolecek AFLAGS+=	-Wa,-Av8plusa
     71  1.37.2.3  jdolecek .endif
     72  1.37.2.3  jdolecek CFLAGS+=	-mno-fpu
     73  1.37.2.3  jdolecek .if defined(HAVE_GCC3)
     74  1.37.2.3  jdolecek AFLAGS+=	-x assembler-with-cpp
     75  1.37.2.3  jdolecek .else
     76  1.37.2.3  jdolecek AFLAGS+=	-x assembler-with-cpp -traditional-cpp
     77  1.37.2.3  jdolecek .endif
     78      1.31       eeh 
     79  1.37.2.2   thorpej NOOPT_C=	${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -O0 -c $<
     80      1.34       mrg 
     81  1.37.2.2   thorpej ##
     82  1.37.2.2   thorpej ## (3) libkern and compat
     83  1.37.2.2   thorpej ##
     84  1.37.2.2   thorpej # KERN_AS=	obj	# bcopy, bzero, memcpy, memset, etc. are in locore.s
     85      1.31       eeh 
     86  1.37.2.2   thorpej ##
     87  1.37.2.2   thorpej ## (4) local objects, compile rules, and dependencies
     88  1.37.2.2   thorpej ##
     89  1.37.2.2   thorpej MD_OBJS=	locore.o
     90  1.37.2.2   thorpej MD_CFILES=
     91  1.37.2.2   thorpej MD_SFILES=	${SPARC64}/sparc64/locore.s
     92      1.10       mrg 
     93  1.37.2.2   thorpej locore.o: ${SPARC64}/sparc64/locore.s assym.h
     94  1.37.2.2   thorpej 	${NORMAL_S}
     95       1.1       eeh 
     96  1.37.2.2   thorpej ##
     97  1.37.2.2   thorpej ## (5) link settings
     98  1.37.2.2   thorpej ##
     99  1.37.2.2   thorpej TEXTADDR?=	01000000
    100  1.37.2.2   thorpej DATAADDR?=	01800000
    101  1.37.2.2   thorpej LINKFORMAT=	-n -T ${SPARC64}/conf/${KERN_LDSCRIPT}
    102  1.37.2.2   thorpej .if ${LP64} == "yes"
    103  1.37.2.2   thorpej KERN_LDSCRIPT?= kern.ldscript
    104       1.1       eeh .else
    105  1.37.2.2   thorpej KERN_LDSCRIPT?= kern32.ldscript
    106       1.1       eeh .endif
    107       1.1       eeh 
    108  1.37.2.2   thorpej ##
    109  1.37.2.2   thorpej ## (6) port specific target dependencies
    110  1.37.2.2   thorpej ##
    111       1.1       eeh 
    112  1.37.2.2   thorpej # depend on CPU configuration
    113  1.37.2.2   thorpej bwtwo.o cgsix.o cgthree.o cgtwo.o cons.o dma.o esp.o fb.o if_ie.o: Makefile
    114  1.37.2.2   thorpej ms.c obio.o zs.c autoconf.o clock.o cpu.o disksubr.o locore.o: Makefile
    115  1.37.2.2   thorpej machdep.o mem.o openprom.o pmap.o vm_machdep.o: Makefile
    116       1.1       eeh 
    117  1.37.2.2   thorpej ##
    118  1.37.2.2   thorpej ## (7) misc settings
    119  1.37.2.2   thorpej ##
    120  1.37.2.2   thorpej 
    121  1.37.2.2   thorpej ##
    122  1.37.2.2   thorpej ## (8) config(8) generated machinery
    123  1.37.2.2   thorpej ##
    124  1.37.2.2   thorpej %INCLUDES
    125       1.1       eeh 
    126       1.1       eeh %OBJS
    127       1.1       eeh 
    128       1.1       eeh %CFILES
    129       1.1       eeh 
    130       1.1       eeh %SFILES
    131       1.1       eeh 
    132       1.1       eeh %LOAD
    133       1.2       mrg 
    134       1.1       eeh %RULES
    135  1.37.2.2   thorpej 
    136  1.37.2.2   thorpej ##
    137  1.37.2.2   thorpej ## (9) port independent kernel machinery
    138  1.37.2.2   thorpej ##
    139  1.37.2.2   thorpej .include "$S/conf/Makefile.kern.inc"
    140