From 885c0b6fc9e8455915d5f6cae78b9ef142f7d8db Mon Sep 17 00:00:00 2001 From: cl Date: Wed, 12 May 2004 16:56:41 +0000 Subject: [PATCH] ``build.sh -m xen-i386 release'' now builds a release for NetBSD/xen for i386. The resulting release consists of: - NetBSD/xen for i386 kernel, loader and docuemntation - NetBSD/i386 userland sets --- build.sh | 17 ++++++++++-- distrib/Makefile | 8 +++--- distrib/notes/Makefile | 9 ++++--- distrib/notes/xen/Makefile | 8 ++++++ distrib/notes/xen/hardware | 0 distrib/notes/xen/install | 0 distrib/notes/xen/legal | 0 distrib/notes/xen/prep | 0 distrib/notes/xen/upgrade | 2 ++ distrib/notes/xen/whatis | 0 distrib/notes/xen/xfer | 0 distrib/sets/Makefile | 4 +-- distrib/xen/Makefile | 5 ++++ etc/Makefile | 36 +++++++++++++------------- etc/etc.xen/Makefile.inc | 18 +++++++++++++ share/mk/bsd.README | 12 ++++++++- share/mk/bsd.kmod.mk | 15 ++++++++++- share/mk/bsd.own.mk | 16 +++++++++++- sys/arch/Makefile | 5 +++- sys/arch/xen/Makefile | 37 +++++++++++++++++++++++++++ sys/arch/xen/conf/Makefile.arch.inc | 13 ++++++++++ sys/arch/xen/conf/Makefile.xen | 31 +++++++++++----------- sys/arch/xen/include/Makefile | 3 +++ sys/arch/xen/stand/Makefile | 5 ++++ sys/arch/xen/stand/xen12load/Makefile | 13 +++++++++- 25 files changed, 208 insertions(+), 49 deletions(-) create mode 100644 distrib/notes/xen/Makefile create mode 100644 distrib/notes/xen/hardware create mode 100644 distrib/notes/xen/install create mode 100644 distrib/notes/xen/legal create mode 100644 distrib/notes/xen/prep create mode 100644 distrib/notes/xen/upgrade create mode 100644 distrib/notes/xen/whatis create mode 100644 distrib/notes/xen/xfer create mode 100644 distrib/xen/Makefile create mode 100644 etc/etc.xen/Makefile.inc create mode 100644 sys/arch/xen/Makefile create mode 100644 sys/arch/xen/conf/Makefile.arch.inc create mode 100644 sys/arch/xen/include/Makefile create mode 100644 sys/arch/xen/stand/Makefile diff --git a/build.sh b/build.sh index c4a0406c15a0..2cb937e7e1b4 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ #! /usr/bin/env sh -# $NetBSD: build.sh,v 1.127 2004/02/06 23:19:30 lukem Exp $ +# $NetBSD: build.sh,v 1.128 2004/05/12 16:56:41 cl Exp $ # # Copyright (c) 2001-2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -212,6 +212,19 @@ getarch() MACHINE_ARCH=x86_64 ;; + xen-*) + setmakeenv XEN_BUILD "${MACHINE##*-}" + setmakeenv KERNARCHDIR "arch/xen" + setmakeenv RELEASEMACHINE "xen" + setmakeenv RELEASEMACHINEDIR "${MACHINE}" + makewrappermachine=${MACHINE} + MACHINE=${MACHINE##*-} + getarch + ;; + + xen) # no default MACHINE_ARCH + ;; + alpha|i386|sparc|sparc64|vax) MACHINE_ARCH=${MACHINE} ;; @@ -842,7 +855,7 @@ createmakewrapper() eval cat < SUBDIR= notes .WAIT @@ -6,8 +8,8 @@ SUBDIR= notes .WAIT SUBDIR+= miniroot .WAIT .endif -.if exists(${MACHINE}/Makefile) -SUBDIR+= ${MACHINE} +.if exists(${RELEASEMACHINE}/Makefile) +SUBDIR+= ${RELEASEMACHINE} .endif .if make(obj) diff --git a/distrib/notes/Makefile b/distrib/notes/Makefile index e4f6d531275f..8143d36c0ada 100644 --- a/distrib/notes/Makefile +++ b/distrib/notes/Makefile @@ -1,11 +1,13 @@ -# $NetBSD: Makefile,v 1.32 2003/10/10 23:51:46 mbw Exp $ +# $NetBSD: Makefile,v 1.33 2004/05/12 16:56:41 cl Exp $ # +.include + TARGETS+= release .ifndef ALLNOTES -.if exists(${MACHINE}/Makefile) -SUBDIR= ${MACHINE} +.if exists(${RELEASEMACHINE}/Makefile) +SUBDIR= ${RELEASEMACHINE} .endif .else SUBDIR+= acorn26 @@ -41,6 +43,7 @@ SUBDIR+= sun2 SUBDIR+= sun3 SUBDIR+= vax SUBDIR+= x68k +SUBDIR+= xen .endif .include diff --git a/distrib/notes/xen/Makefile b/distrib/notes/xen/Makefile new file mode 100644 index 000000000000..2b2c563afc9a --- /dev/null +++ b/distrib/notes/xen/Makefile @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.1 2004/05/12 16:56:41 cl Exp $ + +MACHINE:= xen-${MACHINE} +M= ${MACHINE} + +MERGED_SRCS+= ${COMMON}/xfer + +.include diff --git a/distrib/notes/xen/hardware b/distrib/notes/xen/hardware new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/distrib/notes/xen/install b/distrib/notes/xen/install new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/distrib/notes/xen/legal b/distrib/notes/xen/legal new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/distrib/notes/xen/prep b/distrib/notes/xen/prep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/distrib/notes/xen/upgrade b/distrib/notes/xen/upgrade new file mode 100644 index 000000000000..04a3a8587fb4 --- /dev/null +++ b/distrib/notes/xen/upgrade @@ -0,0 +1,2 @@ +This is the 1st release of +.Nx*M . diff --git a/distrib/notes/xen/whatis b/distrib/notes/xen/whatis new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/distrib/notes/xen/xfer b/distrib/notes/xen/xfer new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/distrib/sets/Makefile b/distrib/sets/Makefile index 67ba46ff6a89..764e5982b1e7 100644 --- a/distrib/sets/Makefile +++ b/distrib/sets/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.45 2004/04/20 06:36:34 lukem Exp $ +# $NetBSD: Makefile,v 1.46 2004/05/12 16:56:41 cl Exp $ # The `all' target must appear before bsd.own.mk is pulled in. all: @@ -59,7 +59,7 @@ makeflist: .PHONY .PRECIOUS check_DESTDIR # SET BUILDING TARGETS # -TARDIR= ${RELEASEDIR}/${MACHINE}/binary/sets +TARDIR= ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets SOURCETARDIR= ${RELEASEDIR}/source/sets .if ${MKUNPRIVED} == "no" diff --git a/distrib/xen/Makefile b/distrib/xen/Makefile new file mode 100644 index 000000000000..dee0d4451ffe --- /dev/null +++ b/distrib/xen/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 2004/05/12 16:56:41 cl Exp $ + +TARGETS+= release + +.include diff --git a/etc/Makefile b/etc/Makefile index e2eb2efe449f..0409b522c6ea 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.285 2004/04/13 12:43:12 lukem Exp $ +# $NetBSD: Makefile,v 1.286 2004/05/12 16:56:41 cl Exp $ # from: @(#)Makefile 8.7 (Berkeley) 5/25/95 # Environment variables without default values: @@ -27,7 +27,7 @@ # distrib-dirs: creates an empty NetBSD directory tree in DESTDIR. # Called by distribution. # snapshot: calls distribution, above, and then tars up the files -# into a release(7) format in RELEASEDIR/${MACHINE}. +# into a release(7) format in RELEASEDIR/${RELEASEMACHINEDIR}. # Any port-dependent stuff for this target is found in # etc.${MACHINE}/Makefile.inc. # release: a synonym for `snapshot' @@ -61,7 +61,7 @@ MKISOFS_FLAGS+= -J -l \ -r -T -v \ -V ${ISO_VOLID} \ -P "The NetBSD Project" \ - -m "${RELEASEDIR}/${MACHINE}/installation/cdrom" + -m "${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom" # MD Makefile.inc may append MD targets to BIN[123]. Make sure all # are empty, to preserve the old semantics of setting them below with "=". @@ -70,14 +70,14 @@ BIN1= BIN2= BIN3= -# Directories to build in ${RELEASEDIR}/${MACHINE}. +# Directories to build in ${RELEASEDIR}/${RELEASEMACHINEDIR}. # MD Makefile.inc files can add to this. # NOTE: Parent directories must be listed before subdirectories. # INSTALLATION_DIRS= binary binary/sets binary/kernel installation -.if exists(etc.${MACHINE}/Makefile.inc) -.include "etc.${MACHINE}/Makefile.inc" +.if exists(etc.${RELEASEMACHINE}/Makefile.inc) +.include "etc.${RELEASEMACHINE}/Makefile.inc" .endif # -rw-r--r-- @@ -388,7 +388,7 @@ release snapshot: .PHONY check_DESTDIR check_RELEASEDIR .WAIT \ snap_pre .WAIT snap_kern .WAIT \ snap_post .WAIT snap_md_post ${MAKEDIRTARGET} ${NETBSDSRCDIR}/distrib/sets sets - ${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/kernel '*.gz' + ${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel '*.gz' # iso-image -- @@ -397,19 +397,19 @@ release snapshot: .PHONY check_DESTDIR check_RELEASEDIR .WAIT \ # # Note: At least mkisofs 2.0 should be used. # -CDROM.image=${RELEASEDIR}/${MACHINE}/installation/cdrom/netbsd-${MACHINE}.iso +CDROM.image=${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom/netbsd-${MACHINE}.iso CDROM.dir= cdrom.dir CDROM.pathlist= cdrom.pathlist iso-image: .PHONY check_DESTDIR check_RELEASEDIR .WAIT iso-image-md-post - ${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/installation/cdrom '*.iso' + ${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom '*.iso' @echo "iso-image created as: ${CDROM.image}" iso-image-setup: .PHONY check_RELEASEDIR rm -f ${CDROM.pathlist} - echo "${MACHINE}=${RELEASEDIR}/${MACHINE}" >> ${CDROM.pathlist} + echo "${MACHINE}=${RELEASEDIR}/${RELEASEMACHINEDIR}" >> ${CDROM.pathlist} mkdir -p ${CDROM.dir} - mkdir -p ${RELEASEDIR}/${MACHINE}/installation/cdrom + mkdir -p ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom # iso-image-mi -- # Create the image after the MD operations have completed. @@ -445,11 +445,11 @@ snap_pre: .PHONY check_DESTDIR check_RELEASEDIR ${INSTALL} -d -m 755 ${RELEASEDIR} .if ${MKUPDATE} == "no" # Could be a mount point, ignore the errors - -/bin/rm -rf ${RELEASEDIR}/${MACHINE} + -/bin/rm -rf ${RELEASEDIR}/${RELEASEMACHINEDIR} .endif - ${INSTALL} -d -m 755 ${RELEASEDIR}/${MACHINE} + ${INSTALL} -d -m 755 ${RELEASEDIR}/${RELEASEMACHINEDIR} .for dir in ${INSTALLATION_DIRS} - ${INSTALL} -d -m 755 ${RELEASEDIR}/${MACHINE}/${dir} + ${INSTALL} -d -m 755 ${RELEASEDIR}/${RELEASEMACHINEDIR}/${dir} .endfor # snap_post -- @@ -529,7 +529,7 @@ build_kernels: .PHONY ${_KERNELS_TO_BUILD} # build_kernelsets -- # Create kernel sets from ${KERNEL_SETS} into -# ${RELEASEDIR}/${MACHINE}/binary/sets +# ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets # .for configfile in ${KERNEL_SETS} # { _KERNELSETS_TO_BUILD+=kernset-${configfile} @@ -537,7 +537,7 @@ kernset-${configfile}: .PHONY @ kernlist=`${GETKERNELAWK} ${KERNCONFDIR}/${configfile}`; \ kerndir=${KERNOBJDIR}/${configfile:C/.*\///}; \ kernsuffixes="${KERNEL_SUFFIXES:S/^/./}"; \ - kern_tgz=${RELEASEDIR}/${MACHINE}/binary/sets/kern-${configfile}.tgz; \ + kern_tgz=${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets/kern-${configfile}.tgz; \ pax_cmd="GZIP=-9 ${TOOL_PAX} -O -zw -M -N ${NETBSDSRCDIR}/etc -f $${kern_tgz}"; \ cd $${kerndir} && { \ kernels=; newest=; \ @@ -565,7 +565,7 @@ build_kernelsets: ${_KERNELSETS_TO_BUILD} # build_releasekernels -- # Build kernel.gz from ${KERNEL_SETS} ${EXTRA_KERNELS} into -# ${RELEASEDIR}/${MACHINE}/binary/kernel +# ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel # .for configfile in ${KERNEL_SETS} ${EXTRA_KERNELS} # { _RELEASEKERNELS_TO_BUILD+=releasekern-${configfile} @@ -578,7 +578,7 @@ releasekern-${configfile}: .PHONY for s in "" $${kernsuffixes}; do \ ks="$${kernel}$${s}"; \ [ ! -f $${ks} ] && continue; \ - knl_gz="${RELEASEDIR}/${MACHINE}/binary/kernel/$${ks}-${configfile:C/.*\///}.gz"; \ + knl_gz="${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel/$${ks}-${configfile:C/.*\///}.gz"; \ [ $${knl_gz} -nt $${ks} ] && continue; \ echo "gzip -c -9 < $${kerndir}/$${ks} > $${knl_gz}"; \ gzip -c -9 < $${ks} > $${knl_gz}; \ diff --git a/etc/etc.xen/Makefile.inc b/etc/etc.xen/Makefile.inc new file mode 100644 index 000000000000..821579ff9f37 --- /dev/null +++ b/etc/etc.xen/Makefile.inc @@ -0,0 +1,18 @@ +# $NetBSD: Makefile.inc,v 1.1 2004/05/12 16:56:43 cl Exp $ +# +# etc.xen/Makefile.inc -- xen-specific etc Makefile targets +# + +KERNEL_SETS= + +EXTRA_KERNELS= GENERIC XEN + +BUILD_KERNELS= + +INSTALLATION_DIRS+= installation/xen12load + +# xen specific distrib stuff +snap_md_post: + cd ${KERNSRCDIR}/arch/xen/stand/xen12load && ${MAKE} release + ${MAKESUMS} -t \ + ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/xen12load '*.*' diff --git a/share/mk/bsd.README b/share/mk/bsd.README index d7b70f0c849e..ab32a78ae131 100644 --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -1,4 +1,4 @@ -# $NetBSD: bsd.README,v 1.151 2004/04/18 13:07:00 lukem Exp $ +# $NetBSD: bsd.README,v 1.152 2004/05/12 16:56:43 cl Exp $ # @(#)bsd.README 8.2 (Berkeley) 4/2/94 This is the README file for the new make "include" files for the BSD @@ -433,6 +433,16 @@ MAKEDIRTARGET dir target [params] Runs "cd $${dir} && ${MAKE} [params] $${target}", displaying a "pretty" message whilst doing so. +RELEASEMACHINEDIR + Subdirectory used below RELEASEDIR when building + a release. [${MACHINE}] + +RELEASEMACHINE Subdirectory or path component used for the following + paths: + distrib/${RELEASEMACHINE} + distrib/notes/${RELEASEMACHINE} + etc/etc.${RELEASEMACHINE} + Used when building a release. [${MACHINE}] Additionally, the following variables may be set by or in a make configuration file to modify the behaviour of the system build diff --git a/share/mk/bsd.kmod.mk b/share/mk/bsd.kmod.mk index a53d034b1b5d..2d8f74d8817c 100644 --- a/share/mk/bsd.kmod.mk +++ b/share/mk/bsd.kmod.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.kmod.mk,v 1.74 2004/01/29 01:48:45 lukem Exp $ +# $NetBSD: bsd.kmod.mk,v 1.75 2004/05/12 16:56:43 cl Exp $ .include @@ -41,6 +41,13 @@ CFLAGS+= -mcmodel=kernel ${MACHINE_CPU} == "arm" CLEANFILES+= ${KMOD}_tramp.o ${KMOD}_tramp.S tmp.S ${KMOD}_tmp.o .endif +.if defined(XEN_BUILD) || ${MACHINE} == "xen" +CLEANFILES+= xen xen-ma/machine # xen-ma +CPPFLAGS+= -I${.OBJDIR}/xen-ma +.if ${MACHINE_CPU} == "i386" +CLEANFILES+= x86 +.endif +.endif OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} PROG?= ${KMOD}.o @@ -105,6 +112,12 @@ ${PROG}: ${OBJS} ${DPADD} @rm -f x86 && \ ln -s $S/arch/x86/include x86 .endif +.if defined(XEN_BUILD) || ${MACHINE} == "xen" + @rm -f xen && \ + ln -s $S/arch/xen/include xen + @rm -rf xen-ma && mkdir xen-ma && \ + ln -s $S/arch/${XEN_BUILD:U${MACHINE_ARCH}}/include xen-ma/machine +.endif .endif ##### Install rules diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 3b83cc4887ce..2cff4d203896 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.own.mk,v 1.417 2004/05/12 13:49:01 lukem Exp $ +# $NetBSD: bsd.own.mk,v 1.418 2004/05/12 16:56:43 cl Exp $ .if !defined(_BSD_OWN_MK_) _BSD_OWN_MK_=1 @@ -11,6 +11,20 @@ MAKECONF?= /etc/mk.conf # MACHINE_CPU= ${MACHINE_ARCH:C/mipse[bl]/mips/:C/sh3e[bl]/sh3/:C/sh5e[bl]/sh5/:S/m68000/m68k/:S/armeb/arm/} +# +# Subdirectory used below ${RELEASEDIR} when building a release +# +RELEASEMACHINEDIR?= ${MACHINE} + +# +# Subdirectory or path component used for the following paths: +# distrib/${RELEASEMACHINE} +# distrib/notes/${RELEASEMACHINE} +# etc/etc.${RELEASEMACHINE} +# Used when building a release. +# +RELEASEMACHINE?= ${MACHINE} + # # NEED_OWN_INSTALL_TARGET is set to "no" by pkgsrc/mk/bsd.pkg.mk to # ensure that things defined by (default targets, diff --git a/sys/arch/Makefile b/sys/arch/Makefile index eebc9e464d07..758753a9b3ed 100644 --- a/sys/arch/Makefile +++ b/sys/arch/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.26 2003/11/14 17:44:05 christos Exp $ +# $NetBSD: Makefile,v 1.27 2004/05/12 16:56:43 cl Exp $ # For now, we install the machine and arch includes, and symlink 'machine' # to the location of the machine includes (usually). @@ -24,6 +24,9 @@ SUBDIR+= hpc .if (${MACHINE} == sun2 || ${MACHINE} == sun3) SUBDIR+= sun68k .endif +.if defined(XEN_BUILD) +SUBDIR+= xen +.endif #SUBDIR=acorn26 acorn32 algor alpha amiga amigappc arm arc atari \ # bebox \ diff --git a/sys/arch/xen/Makefile b/sys/arch/xen/Makefile new file mode 100644 index 000000000000..49af806dea67 --- /dev/null +++ b/sys/arch/xen/Makefile @@ -0,0 +1,37 @@ +# $NetBSD: Makefile,v 1.1 2004/05/12 16:56:43 cl Exp $ + +# Makefile for xen tags file + +.include "../../kern/Make.tags.inc" + +.ifmake tags +.include "${SYSDIR}/arch/xen/conf/Makefile.arch.inc" +.endif + +TXEN= ${SYSDIR}/arch/xen/tags + +SXEN!= awk '($$2 ~ /^arch.*\.[c]$$/) {print "${SYSDIR}/" $$2}' \ + ${SYSDIR}/arch/xen/conf/files.xen +AXEN!= awk '($$2 ~ /^arch.*\.[sS]$$/) {print "${SYSDIR}/" $$2}' \ + ${SYSDIR}/arch/xen/conf/files.xen +AXEN+= ${SYSDIR}/arch/xen/${XEN_BUILD}/*.[sS] + +# Directories in which to place tags links +DXEN= xen ${XEN_MACHINE_ARCHS} include + +tags: + rm -f ${TXEN} + -echo ${SXEN} ${COMM} | xargs ctags -wadtf ${TXEN} + egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AXEN} | \ + sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \ + >> ${TXEN} + sort -o ${TXEN} ${TXEN} + +links: + -for i in ${DXEN}; do \ + (cd $$i && rm -f tags; ln -s ../tags tags); done + + +SUBDIR= compile include stand + +.include diff --git a/sys/arch/xen/conf/Makefile.arch.inc b/sys/arch/xen/conf/Makefile.arch.inc new file mode 100644 index 000000000000..6ba482fab396 --- /dev/null +++ b/sys/arch/xen/conf/Makefile.arch.inc @@ -0,0 +1,13 @@ +# $NetBSD: Makefile.arch.inc,v 1.1 2004/05/12 16:56:43 cl Exp $ + +.if defined(MACHINE) && ${MACHINE} != "xen" +XEN_BUILD?= ${MACHINE} +.else +XEN_BUILD?= ${MACHINE_ARCH:Ui386} +.endif + +.if ${XEN_BUILD} == "i386" +XEN_MACHINE_ARCHS= i386 x86 +.else +XEN_MACHINE_ARCHS= ${XEN_BUILD} +.endif diff --git a/sys/arch/xen/conf/Makefile.xen b/sys/arch/xen/conf/Makefile.xen index 9a5e4fa3d984..adc4a07c5634 100644 --- a/sys/arch/xen/conf/Makefile.xen +++ b/sys/arch/xen/conf/Makefile.xen @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.xen,v 1.1 2004/03/11 21:44:08 cl Exp $ +# $NetBSD: Makefile.xen,v 1.2 2004/05/12 16:56:43 cl Exp $ # NetBSD: Makefile.i386,v 1.132 2003/07/05 16:56:10 simonb Exp # Makefile for NetBSD @@ -18,8 +18,8 @@ # # makeoptions DEBUGLIST="uvm* trap if_*" +.include "$S/arch/xen/conf/Makefile.arch.inc" MACHINE_ARCH?= i386 -MACHINE_ARCH2?= x86 USETOOLS?= no NEED_OWN_INSTALL_TARGET?=no .include @@ -28,14 +28,12 @@ NEED_OWN_INSTALL_TARGET?=no ## (1) port identification ## XEN= $S/arch/xen -XEN_MA= $S/arch/${MACHINE_ARCH} -XEN_MA2= $S/arch/${MACHINE_ARCH2} -GENASSYM= ${XEN}/${MACHINE_ARCH}/genassym.cf +GENASSYM= ${XEN}/${XEN_BUILD}/genassym.cf ## ## (2) compile settings ## -CPPFLAGS+= -D${MACHINE_ARCH} +CPPFLAGS+= -D${XEN_BUILD} AFLAGS+= -x assembler-with-cpp -traditional-cpp ${DBG} EXTRA_INCLUDES= -I${.CURDIR}/xen-ma @@ -49,26 +47,27 @@ KERN_AS= obj ## MD_OBJS= locore.o spl.o vector.o MD_CFILES= -MD_SFILES= ${XEN}/${MACHINE_ARCH}/locore.S ${XEN}/${MACHINE_ARCH}/spl.S \ - ${XEN}/${MACHINE_ARCH}/vector.S +MD_SFILES= ${XEN}/${XEN_BUILD}/locore.S ${XEN}/${XEN_BUILD}/spl.S \ + ${XEN}/${XEN_BUILD}/vector.S -locore.o: ${XEN}/${MACHINE_ARCH}/locore.S assym.h +locore.o: ${XEN}/${XEN_BUILD}/locore.S assym.h ${NORMAL_S} -spl.o: ${XEN}/${MACHINE_ARCH}/spl.S assym.h +spl.o: ${XEN}/${XEN_BUILD}/spl.S assym.h ${NORMAL_S} -vector.o: ${XEN}/${MACHINE_ARCH}/vector.S assym.h +vector.o: ${XEN}/${XEN_BUILD}/vector.S assym.h ${NORMAL_S} .if !make(obj) && !make(clean) && !make(cleandir) .BEGIN: - rm -f ${MACHINE_ARCH} ${MACHINE_ARCH2} - ln -s ${XEN_MA}/include ${MACHINE_ARCH} - ln -s ${XEN_MA2}/include ${MACHINE_ARCH2} +.for A in ${XEN_MACHINE_ARCHS} + rm -f ${A} + ln -s $S/arch/${A}/include ${A} +.endfor rm -rf xen-ma mkdir xen-ma - ln -s ../${MACHINE_ARCH} xen-ma/machine + ln -s $S/arch/${XEN_BUILD}/include xen-ma/machine .endif ## @@ -78,7 +77,7 @@ TEXTADDR?= c0100000 LINKFLAGS_NORMAL= -X .if (${OBJECT_FMT} == "ELF") KERN_LDSCRIPT?= kern.ldscript -LINKFORMAT= -T ${XEN_MA}/conf/${KERN_LDSCRIPT} +LINKFORMAT= -T $S/arch/${XEN_BUILD}/conf/${KERN_LDSCRIPT} .else LINKFORMAT= -z .endif diff --git a/sys/arch/xen/include/Makefile b/sys/arch/xen/include/Makefile new file mode 100644 index 000000000000..78fe7624d92a --- /dev/null +++ b/sys/arch/xen/include/Makefile @@ -0,0 +1,3 @@ +# $NetBSD: Makefile,v 1.1 2004/05/12 16:56:43 cl Exp $ + +.include diff --git a/sys/arch/xen/stand/Makefile b/sys/arch/xen/stand/Makefile new file mode 100644 index 000000000000..50ca3bf4695b --- /dev/null +++ b/sys/arch/xen/stand/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 2004/05/12 16:56:43 cl Exp $ + +SUBDIR= xen12load + +.include diff --git a/sys/arch/xen/stand/xen12load/Makefile b/sys/arch/xen/stand/xen12load/Makefile index e8163b6b5a3d..bfd507887a6f 100644 --- a/sys/arch/xen/stand/xen12load/Makefile +++ b/sys/arch/xen/stand/xen12load/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2004/04/17 23:20:37 cl Exp $ +# $NetBSD: Makefile,v 1.2 2004/05/12 16:56:43 cl Exp $ S= ${.CURDIR}/../../../../ @@ -116,4 +116,15 @@ ${PROG}: ${OBJS} ${LIBLIST} cat ${PROG}.tmp2 >>${PROG} rm -f ${PROG}.tmp ${PROG}.tmp2 +proginstall: +# + +XEN12LOAD_DIR= ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/xen12load/ + +release: check_RELEASEDIR .WAIT ${PROG} + ${_MKMSG_INSTALL} ${PROG}.gz + ${HOST_INSTALL_FILE} -m ${NONBINMODE} ${PROG} ${XEN12LOAD_DIR} + @rm -f ${XEN12LOAD_DIR}xen12load.gz + gzip -9 ${XEN12LOAD_DIR}xen12load + .include