#!/cmd/rc if ( ~ 0 $#BUILD_INITIALIZED ) . $JEHANNE/arch/rc/lib/build/utils.rc git clean -xdf ./ CONF=Workhorse CONFFILE=`{pwd} build ../boot/ build inith.rc.build cat ../build/ksyscalls.rc.template | template | rc | sed 's/ ,/,/g; s/ )/)/g' > systab.c cat ../build/errstrh.rc.template | template | rc > errstr.h cat ./createSIPIHeader.rc |rc cat ../build/errorh.rc.template | template | rc > ../port/error.h if ( test -d ramdisk ) rm -fr ramdisk mkdir ramdisk CMD_DIR=$JEHANNE/arch/$ARCH/cmd RAMDISK=( \ $CMD_DIR/mkdir \ $CMD_DIR/test \ $CMD_DIR/sleep \ $CMD_DIR/bind \ $CMD_DIR/disk/mkrofs \ $CMD_DIR/disk/rofs \ $CMD_DIR/cat \ $CMD_DIR/date \ $CMD_DIR/echo \ $CMD_DIR/auth/factotum \ $CMD_DIR/disk/fdisk \ $CMD_DIR/ip/ipconfig \ $CMD_DIR/ls \ $CMD_DIR/mount \ $CMD_DIR/disk/prep \ $CMD_DIR/rc \ $CMD_DIR/ps \ $CMD_DIR/ed \ $CMD_DIR/hmi/comconsole \ $CMD_DIR/srv \ ) for (file in $RAMDISK) { NAME=`{basename $file} $STRIP -o ./ramdisk/$NAME $file } $STRIP -o ./ramdisk/boot $JEHANNE/sys/src/kern/boot/boot$CONF.elf.out cp $JEHANNE/arch/rc/lib/rcmain ./ramdisk/ cp $JEHANNE/hacking/nvram ./ramdisk/ DEVICES=( \ arch \ bridge \ cap \ cons \ dup \ env \ ether \ ip \ ninep \ pci \ pipe \ proc \ root \ sd \ self \ shr \ srv \ uart \ ) LINKS=( \ ether8139 \ ether8169 \ ether82557 \ ether82563 \ etherigbe \ ethermedium \ loopbackmedium \ netdevmedium \ usbuhci \ usbohci \ usbehci \ ) PROTOCOLS=( \ tcp \ udp \ ipifc \ icmp \ icmp6 \ gre \ ) SDINTERFACES=( \ sdata \ sdiahci \ ) UARTS=( \ i8250 \ pci \ ) cat ../build/kernelconf.rc.template | template | rc > autogenerated.c $CC \ autogenerated.c \ sdata.c \ cga.c \ usbehcipc.c \ usbohci.c \ usbuhci.c \ bios32.c \ devether.c \ devrtc.c \ devkbd.c \ ether8139.c \ ether8169.c \ ether82557.c \ ether82563.c \ etherigbe.c \ ethermii.c \ etherm10g.c \ pci.c \ sdiahci.c \ sdscsi.c \ uarti8250.c \ uartpci.c \ entry.S \ ec.c \ l64v.S \ l64fpu.S \ cpuidamd64.S \ l64idt.S \ l64vsyscall.S \ acpi.c \ arch.c \ archmp.c \ devarch.c \ fpu.c \ hpet.c \ i8253.c \ i8259.c \ lapic.c \ main.c \ memory.c \ mmu.c \ mp.c \ msi.c \ mtrr.c \ multiboot.c \ squidboy.c \ syscall.c \ systab.c \ trap.c \ ../ip/arp.c \ ../ip/chandial.c \ ../ip/devip.c \ ../ip/ethermedium.c \ ../ip/gre.c \ ../ip/icmp6.c \ ../ip/icmp.c \ ../ip/ipaux.c \ ../ip/ip.c \ ../ip/ipifc.c \ ../ip/iproute.c \ ../ip/ipv6.c \ ../ip/loopbackmedium.c \ ../ip/netdevmedium.c \ ../ip/netlog.c \ ../ip/nullmedium.c \ ../ip/pktmedium.c \ ../ip/ptclbsum.c \ ../ip/tcp.c \ ../ip/udp.c \ ../port/umem/pages.c \ ../port/umem/raw.c \ ../port/umem/segments.c \ ../port/umem/images.c \ ../port/alarm.c \ ../port/alloc.c \ ../port/allocb.c \ ../port/awake.c \ ../port/chan.c \ ../port/debug.c \ ../port/dev.c \ ../port/dev9p.c \ ../port/devbridge.c \ ../port/devcap.c \ ../port/devcons.c \ ../port/devdup.c \ ../port/devenv.c \ ../port/devfs.c \ ../port/devkprof.c \ ../port/devpci.c \ ../port/devpipe.c \ ../port/devproc.c \ ../port/devroot.c \ ../port/devsd.c \ ../port/devself.c \ ../port/devshr.c \ ../port/devsrv.c \ ../port/devssl.c \ ../port/devtab.c \ ../port/devtls.c \ ../port/devtrace.c \ ../port/devuart.c \ ../port/devusb.c \ ../port/elf64.c \ ../port/fault.c \ ../port/getput.c \ ../port/log.c \ ../port/taslock.c \ ../port/mul64fract.c \ ../port/net.c \ ../port/netif.c \ ../port/parse.c \ ../port/pgrp.c \ ../port/portclock.c \ ../port/print.c \ ../port/proc.c \ ../port/ps.c \ ../port/qio.c \ ../port/qlock.c \ ../port/random.c \ ../port/rebootcmd.c \ ../port/ref.c \ ../port/sysauth.c \ ../port/syscallfmt.c \ ../port/sysfile.c \ ../port/sysproc.c \ ../port/tod.c \ ../port/uidgid.c \ ../port/usbehci.c \ ../port/xalloc.c \ -DKERNEL \ '-DKERNDATE=1433623937' \ -9 \ -c \ -I. \ -I$JEHANNE/sys/src/lib/jehanne \ '-mcmodel=kernel' \ -O0 \ -static \ -fplan9-extensions \ -mno-red-zone \ -fstack-protector-all \ -ffreestanding \ -fno-builtin \ -g \ -fvar-tracking \ -fvar-tracking-assignments \ -ffixed-r14 \ -ffixed-r15 \ -Wall \ -W \ -Wno-sign-compare \ -Wno-missing-field-initializers \ -Wno-unused-parameter \ -Wno-missing-braces \ -Wno-parentheses \ -Wno-unknown-pragmas \ -fasm $LD -o workhorse \ autogenerated.o \ sdata.o \ cga.o \ usbehcipc.o \ usbohci.o \ usbuhci.o \ bios32.o \ devether.o \ devrtc.o \ devkbd.o \ ether8139.o \ ether8169.o \ ether82557.o \ ether82563.o \ etherigbe.o \ ethermii.o \ etherm10g.o \ pci.o \ sdiahci.o \ sdscsi.o \ uarti8250.o \ uartpci.o \ entry.o \ ec.o \ l64v.o \ l64fpu.o \ cpuidamd64.o \ l64idt.o \ l64vsyscall.o \ acpi.o \ arch.o \ archmp.o \ devarch.o \ fpu.o \ hpet.o \ i8253.o \ i8259.o \ lapic.o \ main.o \ memory.o \ mmu.o \ mp.o \ msi.o \ mtrr.o \ multiboot.o \ squidboy.o \ syscall.o \ systab.o \ trap.o \ arp.o \ chandial.o \ devip.o \ ethermedium.o \ gre.o \ icmp6.o \ icmp.o \ ipaux.o \ ip.o \ ipifc.o \ iproute.o \ ipv6.o \ loopbackmedium.o \ netdevmedium.o \ netlog.o \ nullmedium.o \ pktmedium.o \ ptclbsum.o \ tcp.o \ udp.o \ pages.o \ raw.o \ segments.o \ images.o \ alarm.o \ alloc.o \ allocb.o \ awake.o \ chan.o \ debug.o \ dev.o \ dev9p.o \ devbridge.o \ devcap.o \ devcons.o \ devdup.o \ devenv.o \ devfs.o \ devkprof.o \ devpci.o \ devpipe.o \ devproc.o \ devroot.o \ devsd.o \ devself.o \ devshr.o \ devsrv.o \ devssl.o \ devtab.o \ devtls.o \ devtrace.o \ devuart.o \ devusb.o \ elf64.o \ fault.o \ getput.o \ log.o \ taslock.o \ mul64fract.o \ net.o \ netif.o \ parse.o \ pgrp.o \ portclock.o \ print.o \ proc.o \ ps.o \ qio.o \ qlock.o \ random.o \ rebootcmd.o \ ref.o \ sysauth.o \ syscallfmt.o \ sysfile.o \ sysproc.o \ tod.o \ uidgid.o \ usbehci.o \ xalloc.o \ -z 'max-page-size=0x1000' \ -nostdlib -T kernel.ld -g \ $JEHANNE/arch/$ARCH/lib/klibmemlayer.a \ $JEHANNE/arch/$ARCH/lib/klibmemdraw.a \ $JEHANNE/arch/$ARCH/lib/klibdraw.a \ $JEHANNE/arch/$ARCH/lib/klibip.a \ $JEHANNE/arch/$ARCH/lib/klibc.a \ $JEHANNE/arch/$ARCH/lib/klib9p2000.a \ $JEHANNE/arch/$ARCH/lib/klibsec.a \ $JEHANNE/arch/$ARCH/lib/klibmp.a \ $JEHANNE/arch/$ARCH/lib/klibaml.a OBJCOPY=objcopy; $TOOLPREFIX$OBJCOPY -I elf64-x86-64 -O elf32-i386 workhorse $JEHANNE/hacking/bin/workhorse.32bit safemove workhorse $JEHANNE/hacking/bin/ #decomment to debug workhorse with gdb git clean -xdf ../