Makefile.sparc64 revision 1.67.4.1.2.1       1  1.67.4.1.2.1    bouyer # 	$NetBSD: Makefile.sparc64,v 1.67.4.1.2.1 2012/03/17 18:46:29 bouyer 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.56  christos GENASSYM_CONF=	${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       eeh AFLAGS+=	-x assembler-with-cpp -traditional-cpp
     74          1.44    atatat 
     75          1.44    atatat ##
     76          1.44    atatat ## (3) libkern and compat
     77          1.44    atatat ##
     78          1.52    martin # KERN_AS=	obj	# memcpy, memset, etc. are in locore.s
     79          1.44    atatat 
     80          1.44    atatat ##
     81          1.44    atatat ## (4) local objects, compile rules, and dependencies
     82          1.44    atatat ##
     83          1.44    atatat MD_OBJS=	locore.o
     84          1.44    atatat MD_CFILES=
     85          1.44    atatat MD_SFILES=	${SPARC64}/sparc64/locore.s
     86          1.31       eeh 
     87          1.44    atatat locore.o: ${SPARC64}/sparc64/locore.s assym.h
     88          1.44    atatat 	${NORMAL_S}
     89          1.51  christos 
     90          1.44    atatat ##
     91          1.44    atatat ## (5) link settings
     92          1.44    atatat ##
     93          1.44    atatat TEXTADDR?=	01000000
     94          1.67    martin LINKFORMAT=	-T ${SPARC64}/conf/${KERN_LDSCRIPT}
     95          1.40   thorpej .if ${LP64} == "yes"
     96          1.34       mrg KERN_LDSCRIPT?= kern.ldscript
     97          1.35       mrg .else
     98          1.35       mrg KERN_LDSCRIPT?= kern32.ldscript
     99          1.35       mrg .endif
    100          1.31       eeh 
    101          1.44    atatat ##
    102          1.44    atatat ## (6) port specific target dependencies
    103          1.44    atatat ##
    104          1.10       mrg 
    105          1.44    atatat # depend on CPU configuration
    106          1.44    atatat bwtwo.o cgsix.o cgthree.o cgtwo.o cons.o dma.o esp.o fb.o if_ie.o: Makefile
    107          1.44    atatat ms.c obio.o zs.c autoconf.o clock.o cpu.o disksubr.o locore.o: Makefile
    108          1.44    atatat machdep.o mem.o openprom.o pmap.o vm_machdep.o: Makefile
    109          1.44    atatat 
    110          1.66     joerg cpu_in_cksum.o lock_stubs.o: assym.h
    111          1.66     joerg 
    112          1.44    atatat ##
    113          1.44    atatat ## (7) misc settings
    114          1.44    atatat ##
    115          1.48  jdolecek 
    116          1.48  jdolecek # define .MAIN _before_ the make() check, so that implicit target
    117          1.48  jdolecek # would be defined
    118          1.48  jdolecek .MAIN: all
    119          1.47       mrg 
    120          1.47       mrg .if make(depend) || make(all) || make(dependall)
    121          1.47       mrg .BEGIN:
    122          1.47       mrg 	@rm -f sparc && \
    123          1.47       mrg 		ln -s $S/arch/sparc/include sparc
    124          1.47       mrg .endif
    125          1.44    atatat 
    126          1.44    atatat ##
    127          1.44    atatat ## (8) config(8) generated machinery
    128          1.44    atatat ##
    129          1.10       mrg %INCLUDES
    130           1.1       eeh 
    131           1.1       eeh %OBJS
    132           1.1       eeh 
    133           1.1       eeh %CFILES
    134           1.1       eeh 
    135           1.1       eeh %SFILES
    136           1.1       eeh 
    137           1.1       eeh %LOAD
    138           1.2       mrg 
    139          1.44    atatat %RULES
    140           1.1       eeh 
    141          1.44    atatat ##
    142          1.44    atatat ## (9) port independent kernel machinery
    143          1.44    atatat ##
    144          1.44    atatat .include "$S/conf/Makefile.kern.inc"
    145          1.55   thorpej 
    146          1.55   thorpej ##
    147          1.55   thorpej ## (10) Appending make options.
    148          1.55   thorpej ##
    149          1.55   thorpej %MAKEOPTIONSAPPEND
    150