Annotation of src/sys/arch/xen/conf/Makefile.xen, Revision 1.34.6.1
1.34.6.1! mrg 1: # $NetBSD: Makefile.xen,v 1.35 2011/12/19 14:06:17 joerg Exp $
1.1 cl 2: # NetBSD: Makefile.i386,v 1.132 2003/07/05 16:56:10 simonb Exp
3:
4: # Makefile for NetBSD
5: #
6: # This makefile is constructed from a machine description:
7: # config machineid
8: # Most changes should be made in the machine description
9: # /sys/arch/xen/conf/``machineid''
10: # after which you should do
11: # config machineid
12: # Machine generic makefile changes should be made in
13: # /sys/arch/xen/conf/Makefile.xen
14: # after which config should be rerun for all machines of that type.
15: #
16: # To specify debugging, add the config line: makeoptions DEBUG="-g"
17: # A better way is to specify -g only for a few files.
18: #
19: # makeoptions DEBUGLIST="uvm* trap if_*"
20:
1.2 cl 21: .include "$S/arch/xen/conf/Makefile.arch.inc"
1.1 cl 22: USETOOLS?= no
23: NEED_OWN_INSTALL_TARGET?=no
24: .include <bsd.own.mk>
25:
1.29 tron 26: USE_SSP?= yes
27:
1.1 cl 28: ##
29: ## (1) port identification
30: ##
31: XEN= $S/arch/xen
1.10 yamt 32: I386= $S/arch/i386
1.20 bouyer 33: AMD64= $S/arch/amd64
34: GENASSYM_CONF= $S/arch/${XEN_BUILD}/${XEN_BUILD}/genassym.cf
35:
1.24 bouyer 36: ARCH_INC= $S/arch/xen/include/${XEN_BUILD}
1.1 cl 37:
38: ##
39: ## (2) compile settings
40: ##
1.20 bouyer 41: DEFCOPTS= -O2
1.2 cl 42: CPPFLAGS+= -D${XEN_BUILD}
1.31 joerg 43: AFLAGS+= -x assembler-with-cpp ${DBG} -D__XEN__
1.1 cl 44: EXTRA_INCLUDES= -I${.CURDIR}/xen-ma
45:
1.20 bouyer 46: .if ${XEN_BUILD} == "amd64"
47: CPPFLAGS+= -Dx86_64
48: CFLAGS+= -mcmodel=kernel
49: CFLAGS+= -mno-red-zone
50: .endif
51:
52:
1.1 cl 53: ##
54: ## (3) libkern and compat
55: ##
56: KERN_AS= obj
57:
58: ##
59: ## (4) local objects, compile rules, and dependencies
60: ##
1.20 bouyer 61: MD_OBJS= locore.o spl.o copy.o vector.o
1.1 cl 62: MD_CFILES=
1.20 bouyer 63:
1.24 bouyer 64: MD_SFILES= $S/arch/${XEN_BUILD}/${XEN_BUILD}/locore.S \
65: $S/arch/${XEN_BUILD}/${XEN_BUILD}/spl.S \
66: $S/arch/${XEN_BUILD}/${XEN_BUILD}/vector.S \
67: $S/arch/${XEN_BUILD}/${XEN_BUILD}/copy.S
1.20 bouyer 68:
1.24 bouyer 69: copy.o: $S/arch/${XEN_BUILD}/${XEN_BUILD}/copy.S assym.h
1.20 bouyer 70: ${NORMAL_S}
71:
1.24 bouyer 72: locore.o: $S/arch/${XEN_BUILD}/${XEN_BUILD}/locore.S assym.h
1.20 bouyer 73: ${NORMAL_S}
74:
1.24 bouyer 75: spl.o: $S/arch/${XEN_BUILD}/${XEN_BUILD}/spl.S assym.h
1.20 bouyer 76: ${NORMAL_S}
77:
1.24 bouyer 78: vector.o: $S/arch/${XEN_BUILD}/${XEN_BUILD}/vector.S assym.h
1.20 bouyer 79: ${NORMAL_S}
1.7 sjg 80: .ifndef noBEGIN
1.1 cl 81: .if !make(obj) && !make(clean) && !make(cleandir)
82: .BEGIN:
1.2 cl 83: .for A in ${XEN_MACHINE_ARCHS}
84: rm -f ${A}
85: ln -s $S/arch/${A}/include ${A}
86: .endfor
1.5 jmc 87: -rm -rf xen-ma
1.1 cl 88: mkdir xen-ma
1.3 cl 89: ln -s ../${XEN_BUILD} xen-ma/machine
1.20 bouyer 90: rm -f machine
91: ln -s ${ARCH_INC} machine
1.1 cl 92: .endif
1.7 sjg 93: .endif
1.1 cl 94:
95: ##
96: ## (5) link settings
97: ##
1.20 bouyer 98: .if ${XEN_BUILD} == i386
99: TEXTADDR?= 0xc0100000
100: .elif ${XEN_BUILD} == amd64
101: TEXTADDR?= 0xffffffff80100000
102: .endif
1.1 cl 103: LINKFLAGS_NORMAL= -X
1.18 pavel 104: KERN_LDSCRIPT?= kern.ldscript.Xen
1.2 cl 105: LINKFORMAT= -T $S/arch/${XEN_BUILD}/conf/${KERN_LDSCRIPT}
1.1 cl 106:
107: ##
108: ## (6) port specific target dependencies
109: ##
110:
1.20 bouyer 111: .if ${XEN_BUILD} == i386
1.1 cl 112: freebsd_sigcode.o ibcs2_sigcode.o linux_sigcode.o: assym.h
1.26 joerg 113: svr4_sigcode.o mach_sigcode.o: assym.h
114: apmcall.o pnpbioscall.o bioscall.o: assym.h
1.1 cl 115: mptramp.o: assym.h
1.20 bouyer 116: .elif ${XEN_BUILD} == amd64
117: locore.o machdep.o: Makefile
1.27 joerg 118: linux_support.o linux32_sigcode.o netbsd32_sigcode.o: assym.h
1.20 bouyer 119: .endif
1.26 joerg 120: busfunc.o cpu_in_cksum.o cpufunc.o lock_stubs.o: assym.h
1.1 cl 121:
122: ##
123: ## (7) misc settings
124: ##
125:
126: ##
127: ## (8) config(8) generated machinery
128: ##
129: %INCLUDES
130:
131: %OBJS
132:
133: %CFILES
134:
135: %SFILES
136:
137: %LOAD
138:
139: %RULES
140:
141: ##
142: ## (9) port independent kernel machinery
143: ##
144: .include "$S/conf/Makefile.kern.inc"
1.4 thorpej 145:
146: ##
147: ## (10) Appending make options.
148: ##
149: %MAKEOPTIONSAPPEND
CVSweb <webmaster@jp.NetBSD.org>