Home | History | Annotate | Line # | Download | only in conf
Makefile.xen revision 1.5.14.1
      1  1.5.14.1     tron #	$NetBSD: Makefile.xen,v 1.5.14.1 2006/03/29 21:18:29 tron Exp $
      2       1.1       cl #	NetBSD: Makefile.i386,v 1.132 2003/07/05 16:56:10 simonb Exp 
      3       1.1       cl 
      4       1.1       cl # Makefile for NetBSD
      5       1.1       cl #
      6       1.1       cl # This makefile is constructed from a machine description:
      7       1.1       cl #	config machineid
      8       1.1       cl # Most changes should be made in the machine description
      9       1.1       cl #	/sys/arch/xen/conf/``machineid''
     10       1.1       cl # after which you should do
     11       1.1       cl #	config machineid
     12       1.1       cl # Machine generic makefile changes should be made in
     13       1.1       cl #	/sys/arch/xen/conf/Makefile.xen
     14       1.1       cl # after which config should be rerun for all machines of that type.
     15       1.1       cl #
     16       1.1       cl # To specify debugging, add the config line: makeoptions DEBUG="-g"
     17       1.1       cl # A better way is to specify -g only for a few files.
     18       1.1       cl #
     19       1.1       cl #	makeoptions DEBUGLIST="uvm* trap if_*"
     20       1.1       cl 
     21       1.2       cl .include "$S/arch/xen/conf/Makefile.arch.inc"
     22       1.1       cl MACHINE_ARCH?=	i386
     23       1.1       cl USETOOLS?=	no
     24       1.1       cl NEED_OWN_INSTALL_TARGET?=no
     25       1.1       cl .include <bsd.own.mk>
     26       1.1       cl 
     27       1.1       cl ##
     28       1.1       cl ## (1) port identification
     29       1.1       cl ##
     30       1.1       cl XEN=		$S/arch/xen
     31       1.2       cl GENASSYM=	${XEN}/${XEN_BUILD}/genassym.cf
     32       1.1       cl 
     33       1.1       cl ##
     34       1.1       cl ## (2) compile settings
     35       1.1       cl ##
     36       1.2       cl CPPFLAGS+=	-D${XEN_BUILD}
     37       1.1       cl AFLAGS+=	-x assembler-with-cpp -traditional-cpp ${DBG}
     38       1.1       cl EXTRA_INCLUDES=	-I${.CURDIR}/xen-ma
     39       1.1       cl 
     40       1.1       cl ##
     41       1.1       cl ## (3) libkern and compat
     42       1.1       cl ##
     43       1.1       cl KERN_AS=	obj
     44       1.1       cl 
     45       1.1       cl ##
     46       1.1       cl ## (4) local objects, compile rules, and dependencies
     47       1.1       cl ##
     48       1.1       cl MD_OBJS=	locore.o spl.o vector.o
     49       1.1       cl MD_CFILES=
     50       1.2       cl MD_SFILES=	${XEN}/${XEN_BUILD}/locore.S ${XEN}/${XEN_BUILD}/spl.S \
     51       1.2       cl 		${XEN}/${XEN_BUILD}/vector.S
     52       1.1       cl 
     53       1.2       cl locore.o: ${XEN}/${XEN_BUILD}/locore.S assym.h
     54       1.1       cl 	${NORMAL_S}
     55       1.1       cl 
     56       1.2       cl spl.o: ${XEN}/${XEN_BUILD}/spl.S assym.h
     57       1.1       cl 	${NORMAL_S}
     58       1.1       cl 
     59       1.2       cl vector.o: ${XEN}/${XEN_BUILD}/vector.S assym.h
     60       1.1       cl 	${NORMAL_S}
     61       1.1       cl 
     62       1.1       cl .if !make(obj) && !make(clean) && !make(cleandir)
     63       1.1       cl .BEGIN:
     64       1.2       cl .for A in ${XEN_MACHINE_ARCHS}
     65       1.2       cl 	rm -f ${A}
     66       1.2       cl 	ln -s $S/arch/${A}/include ${A}
     67       1.2       cl .endfor
     68       1.5      jmc 	-rm -rf xen-ma
     69       1.1       cl 	mkdir xen-ma
     70       1.3       cl 	ln -s ../${XEN_BUILD} xen-ma/machine
     71       1.1       cl .endif
     72       1.1       cl 
     73       1.1       cl ##
     74       1.1       cl ## (5) link settings
     75       1.1       cl ##
     76       1.1       cl TEXTADDR?=	c0100000
     77       1.1       cl LINKFLAGS_NORMAL=	-X
     78       1.1       cl .if (${OBJECT_FMT} == "ELF")
     79       1.1       cl KERN_LDSCRIPT?=	kern.ldscript
     80       1.2       cl LINKFORMAT=	-T $S/arch/${XEN_BUILD}/conf/${KERN_LDSCRIPT}
     81       1.1       cl .else
     82       1.1       cl LINKFORMAT=	-z
     83       1.1       cl .endif
     84       1.1       cl 
     85       1.1       cl ##
     86       1.1       cl ## (6) port specific target dependencies
     87       1.1       cl ##
     88       1.1       cl 
     89       1.1       cl freebsd_sigcode.o ibcs2_sigcode.o linux_sigcode.o: assym.h
     90       1.1       cl svr4_sigcode.o mach_sigcode.o: assym.h
     91       1.1       cl apmcall.o in_cksum.o pnpbioscall.o bioscall.o: assym.h
     92       1.1       cl mptramp.o: assym.h
     93       1.1       cl clock.o: config_time.h
     94       1.1       cl 
     95       1.1       cl ##
     96       1.1       cl ## (7) misc settings
     97       1.1       cl ##
     98       1.1       cl 
     99       1.1       cl ##
    100       1.1       cl ## (8) config(8) generated machinery
    101       1.1       cl ##
    102       1.1       cl %INCLUDES
    103       1.1       cl 
    104       1.1       cl %OBJS
    105       1.1       cl 
    106       1.1       cl %CFILES
    107       1.1       cl 
    108       1.1       cl %SFILES
    109       1.1       cl 
    110       1.1       cl %LOAD
    111       1.1       cl 
    112       1.1       cl %RULES
    113       1.1       cl 
    114  1.5.14.1     tron # XXX - Ugly, but make doesn't easily handle .o.uue (assumes it's a suffix)
    115  1.5.14.1     tron # XXX - Also, config has no simple was to just add foo.o to the Makefile. 
    116  1.5.14.1     tron #       It needs a pathname of some sort for "object"        
    117  1.5.14.1     tron .if !empty(OBJS:M\/athhal-elf.o)
    118  1.5.14.1     tron OBJS:=${OBJS:C/\/athhal-elf.o/athhal-elf.o/}
    119  1.5.14.1     tron  
    120  1.5.14.1     tron .PATH: $S/../contrib/sys/arch/i386/dev
    121  1.5.14.1     tron ATH_UUDEC?=	@${_MKSHMSG} "uudecode ${.CURDIR:T}/${.TARGET}"; \
    122  1.5.14.1     tron 		${_MKSHECHO}\
    123  1.5.14.1     tron 		${UUDECODE} -p $> \> ${.TARGET}; \
    124  1.5.14.1     tron 		rm -f ${.TARGET}; \
    125  1.5.14.1     tron 		${UUDECODE} -p $> > ${.TARGET}
    126  1.5.14.1     tron athhal-elf.o: athhal-elf-o.uue
    127  1.5.14.1     tron 	${ATH_UUDEC}
    128  1.5.14.1     tron .endif
    129  1.5.14.1     tron 
    130       1.1       cl ##
    131       1.1       cl ## (9) port independent kernel machinery
    132       1.1       cl ##
    133       1.1       cl .include "$S/conf/Makefile.kern.inc"
    134       1.4  thorpej 
    135       1.4  thorpej ##
    136       1.4  thorpej ## (10) Appending make options.
    137       1.4  thorpej ##
    138       1.4  thorpej %MAKEOPTIONSAPPEND
    139