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