1 1.1 cl # $NetBSD: Makefile.xen,v 1.1 2004/03/11 21:44:08 cl 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.1 cl MACHINE_ARCH?= i386 22 1.1 cl MACHINE_ARCH2?= x86 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.1 cl XEN_MA= $S/arch/${MACHINE_ARCH} 32 1.1 cl XEN_MA2= $S/arch/${MACHINE_ARCH2} 33 1.1 cl GENASSYM= ${XEN}/${MACHINE_ARCH}/genassym.cf 34 1.1 cl 35 1.1 cl ## 36 1.1 cl ## (2) compile settings 37 1.1 cl ## 38 1.1 cl CPPFLAGS+= -D${MACHINE_ARCH} 39 1.1 cl AFLAGS+= -x assembler-with-cpp -traditional-cpp ${DBG} 40 1.1 cl EXTRA_INCLUDES= -I${.CURDIR}/xen-ma 41 1.1 cl 42 1.1 cl ## 43 1.1 cl ## (3) libkern and compat 44 1.1 cl ## 45 1.1 cl KERN_AS= obj 46 1.1 cl 47 1.1 cl ## 48 1.1 cl ## (4) local objects, compile rules, and dependencies 49 1.1 cl ## 50 1.1 cl MD_OBJS= locore.o spl.o vector.o 51 1.1 cl MD_CFILES= 52 1.1 cl MD_SFILES= ${XEN}/${MACHINE_ARCH}/locore.S ${XEN}/${MACHINE_ARCH}/spl.S \ 53 1.1 cl ${XEN}/${MACHINE_ARCH}/vector.S 54 1.1 cl 55 1.1 cl locore.o: ${XEN}/${MACHINE_ARCH}/locore.S assym.h 56 1.1 cl ${NORMAL_S} 57 1.1 cl 58 1.1 cl spl.o: ${XEN}/${MACHINE_ARCH}/spl.S assym.h 59 1.1 cl ${NORMAL_S} 60 1.1 cl 61 1.1 cl vector.o: ${XEN}/${MACHINE_ARCH}/vector.S assym.h 62 1.1 cl ${NORMAL_S} 63 1.1 cl 64 1.1 cl .if !make(obj) && !make(clean) && !make(cleandir) 65 1.1 cl .BEGIN: 66 1.1 cl rm -f ${MACHINE_ARCH} ${MACHINE_ARCH2} 67 1.1 cl ln -s ${XEN_MA}/include ${MACHINE_ARCH} 68 1.1 cl ln -s ${XEN_MA2}/include ${MACHINE_ARCH2} 69 1.1 cl rm -rf xen-ma 70 1.1 cl mkdir xen-ma 71 1.1 cl ln -s ../${MACHINE_ARCH} xen-ma/machine 72 1.1 cl .endif 73 1.1 cl 74 1.1 cl ## 75 1.1 cl ## (5) link settings 76 1.1 cl ## 77 1.1 cl TEXTADDR?= c0100000 78 1.1 cl LINKFLAGS_NORMAL= -X 79 1.1 cl .if (${OBJECT_FMT} == "ELF") 80 1.1 cl KERN_LDSCRIPT?= kern.ldscript 81 1.1 cl LINKFORMAT= -T ${XEN_MA}/conf/${KERN_LDSCRIPT} 82 1.1 cl .else 83 1.1 cl LINKFORMAT= -z 84 1.1 cl .endif 85 1.1 cl 86 1.1 cl ## 87 1.1 cl ## (6) port specific target dependencies 88 1.1 cl ## 89 1.1 cl 90 1.1 cl freebsd_sigcode.o ibcs2_sigcode.o linux_sigcode.o: assym.h 91 1.1 cl svr4_sigcode.o mach_sigcode.o: assym.h 92 1.1 cl apmcall.o in_cksum.o pnpbioscall.o bioscall.o: assym.h 93 1.1 cl mptramp.o: assym.h 94 1.1 cl clock.o: config_time.h 95 1.1 cl 96 1.1 cl ## 97 1.1 cl ## (7) misc settings 98 1.1 cl ## 99 1.1 cl 100 1.1 cl ## 101 1.1 cl ## (8) config(8) generated machinery 102 1.1 cl ## 103 1.1 cl %INCLUDES 104 1.1 cl 105 1.1 cl %OBJS 106 1.1 cl 107 1.1 cl %CFILES 108 1.1 cl 109 1.1 cl %SFILES 110 1.1 cl 111 1.1 cl %LOAD 112 1.1 cl 113 1.1 cl %RULES 114 1.1 cl 115 1.1 cl ## 116 1.1 cl ## (9) port independent kernel machinery 117 1.1 cl ## 118 1.1 cl .include "$S/conf/Makefile.kern.inc" 119