1 1.5.2.4 skrll # $NetBSD: Makefile.xen,v 1.5.2.4 2004/09/21 13:24:36 skrll Exp $ 2 1.5.2.2 skrll # NetBSD: Makefile.i386,v 1.132 2003/07/05 16:56:10 simonb Exp 3 1.5.2.2 skrll 4 1.5.2.2 skrll # Makefile for NetBSD 5 1.5.2.2 skrll # 6 1.5.2.2 skrll # This makefile is constructed from a machine description: 7 1.5.2.2 skrll # config machineid 8 1.5.2.2 skrll # Most changes should be made in the machine description 9 1.5.2.2 skrll # /sys/arch/xen/conf/``machineid'' 10 1.5.2.2 skrll # after which you should do 11 1.5.2.2 skrll # config machineid 12 1.5.2.2 skrll # Machine generic makefile changes should be made in 13 1.5.2.2 skrll # /sys/arch/xen/conf/Makefile.xen 14 1.5.2.2 skrll # after which config should be rerun for all machines of that type. 15 1.5.2.2 skrll # 16 1.5.2.2 skrll # To specify debugging, add the config line: makeoptions DEBUG="-g" 17 1.5.2.2 skrll # A better way is to specify -g only for a few files. 18 1.5.2.2 skrll # 19 1.5.2.2 skrll # makeoptions DEBUGLIST="uvm* trap if_*" 20 1.5.2.2 skrll 21 1.5.2.2 skrll .include "$S/arch/xen/conf/Makefile.arch.inc" 22 1.5.2.2 skrll MACHINE_ARCH?= i386 23 1.5.2.2 skrll USETOOLS?= no 24 1.5.2.2 skrll NEED_OWN_INSTALL_TARGET?=no 25 1.5.2.2 skrll .include <bsd.own.mk> 26 1.5.2.2 skrll 27 1.5.2.2 skrll ## 28 1.5.2.2 skrll ## (1) port identification 29 1.5.2.2 skrll ## 30 1.5.2.2 skrll XEN= $S/arch/xen 31 1.5.2.2 skrll GENASSYM= ${XEN}/${XEN_BUILD}/genassym.cf 32 1.5.2.2 skrll 33 1.5.2.2 skrll ## 34 1.5.2.2 skrll ## (2) compile settings 35 1.5.2.2 skrll ## 36 1.5.2.2 skrll CPPFLAGS+= -D${XEN_BUILD} 37 1.5.2.2 skrll AFLAGS+= -x assembler-with-cpp -traditional-cpp ${DBG} 38 1.5.2.2 skrll EXTRA_INCLUDES= -I${.CURDIR}/xen-ma 39 1.5.2.2 skrll 40 1.5.2.2 skrll ## 41 1.5.2.2 skrll ## (3) libkern and compat 42 1.5.2.2 skrll ## 43 1.5.2.2 skrll KERN_AS= obj 44 1.5.2.2 skrll 45 1.5.2.2 skrll ## 46 1.5.2.2 skrll ## (4) local objects, compile rules, and dependencies 47 1.5.2.2 skrll ## 48 1.5.2.2 skrll MD_OBJS= locore.o spl.o vector.o 49 1.5.2.2 skrll MD_CFILES= 50 1.5.2.2 skrll MD_SFILES= ${XEN}/${XEN_BUILD}/locore.S ${XEN}/${XEN_BUILD}/spl.S \ 51 1.5.2.2 skrll ${XEN}/${XEN_BUILD}/vector.S 52 1.5.2.2 skrll 53 1.5.2.2 skrll locore.o: ${XEN}/${XEN_BUILD}/locore.S assym.h 54 1.5.2.2 skrll ${NORMAL_S} 55 1.5.2.2 skrll 56 1.5.2.2 skrll spl.o: ${XEN}/${XEN_BUILD}/spl.S assym.h 57 1.5.2.2 skrll ${NORMAL_S} 58 1.5.2.2 skrll 59 1.5.2.2 skrll vector.o: ${XEN}/${XEN_BUILD}/vector.S assym.h 60 1.5.2.2 skrll ${NORMAL_S} 61 1.5.2.2 skrll 62 1.5.2.2 skrll .if !make(obj) && !make(clean) && !make(cleandir) 63 1.5.2.2 skrll .BEGIN: 64 1.5.2.2 skrll .for A in ${XEN_MACHINE_ARCHS} 65 1.5.2.2 skrll rm -f ${A} 66 1.5.2.2 skrll ln -s $S/arch/${A}/include ${A} 67 1.5.2.2 skrll .endfor 68 1.5.2.2 skrll -rm -rf xen-ma 69 1.5.2.2 skrll mkdir xen-ma 70 1.5.2.2 skrll ln -s ../${XEN_BUILD} xen-ma/machine 71 1.5.2.2 skrll .endif 72 1.5.2.2 skrll 73 1.5.2.2 skrll ## 74 1.5.2.2 skrll ## (5) link settings 75 1.5.2.2 skrll ## 76 1.5.2.2 skrll TEXTADDR?= c0100000 77 1.5.2.2 skrll LINKFLAGS_NORMAL= -X 78 1.5.2.2 skrll .if (${OBJECT_FMT} == "ELF") 79 1.5.2.2 skrll KERN_LDSCRIPT?= kern.ldscript 80 1.5.2.2 skrll LINKFORMAT= -T $S/arch/${XEN_BUILD}/conf/${KERN_LDSCRIPT} 81 1.5.2.2 skrll .else 82 1.5.2.2 skrll LINKFORMAT= -z 83 1.5.2.2 skrll .endif 84 1.5.2.2 skrll 85 1.5.2.2 skrll ## 86 1.5.2.2 skrll ## (6) port specific target dependencies 87 1.5.2.2 skrll ## 88 1.5.2.2 skrll 89 1.5.2.2 skrll freebsd_sigcode.o ibcs2_sigcode.o linux_sigcode.o: assym.h 90 1.5.2.2 skrll svr4_sigcode.o mach_sigcode.o: assym.h 91 1.5.2.2 skrll apmcall.o in_cksum.o pnpbioscall.o bioscall.o: assym.h 92 1.5.2.2 skrll mptramp.o: assym.h 93 1.5.2.2 skrll clock.o: config_time.h 94 1.5.2.2 skrll 95 1.5.2.2 skrll ## 96 1.5.2.2 skrll ## (7) misc settings 97 1.5.2.2 skrll ## 98 1.5.2.2 skrll 99 1.5.2.2 skrll ## 100 1.5.2.2 skrll ## (8) config(8) generated machinery 101 1.5.2.2 skrll ## 102 1.5.2.2 skrll %INCLUDES 103 1.5.2.2 skrll 104 1.5.2.2 skrll %OBJS 105 1.5.2.2 skrll 106 1.5.2.2 skrll %CFILES 107 1.5.2.2 skrll 108 1.5.2.2 skrll %SFILES 109 1.5.2.2 skrll 110 1.5.2.2 skrll %LOAD 111 1.5.2.2 skrll 112 1.5.2.2 skrll %RULES 113 1.5.2.2 skrll 114 1.5.2.2 skrll ## 115 1.5.2.2 skrll ## (9) port independent kernel machinery 116 1.5.2.2 skrll ## 117 1.5.2.2 skrll .include "$S/conf/Makefile.kern.inc" 118 1.5.2.2 skrll 119 1.5.2.2 skrll ## 120 1.5.2.2 skrll ## (10) Appending make options. 121 1.5.2.2 skrll ## 122 1.5.2.2 skrll %MAKEOPTIONSAPPEND 123