1# Directories common to all architectures. 2# Build in order: 3# - critical libraries used by the limbo compiler 4# - the limbo compiler (used to build some subsequent libraries) 5# - the remaining libraries 6# - commands 7# - utilities 8 9EMUDIRS=\ 10 lib9\ 11 libbio\ 12 libmp\ 13 libsec\ 14 libmath\ 15 utils/iyacc\ 16 limbo\ 17 libinterp\ 18 libkeyring\ 19 libdraw\ 20 libprefab\ 21 libtk\ 22 libfreetype\ 23 libmemdraw\ 24 libmemlayer\ 25 libdynld\ 26 utils/data2c\ 27 utils/ndate\ 28 emu\ 29 30KERNEL_DIRS=\ 31 os\ 32 os/boot/pc\ 33 34# mkconfig is included at this point to allow it to override 35#the preceding declarations (particularly KERNEL_DIRS) if need be 36 37<mkconfig 38 39DIRS=\ 40 $EMUDIRS\ 41# appl\ 42 43foo:QV: 44 echo mk all, clean, install, installall or nuke 45 46all:V: all-$HOSTMODEL 47clean:V: clean-$HOSTMODEL 48install:V: install-$HOSTMODEL 49installall:V: installall-$HOSTMODEL 50emu:V: emu/all-$HOSTMODEL 51emuinstall:V: emu/install-$HOSTMODEL 52emuclean:V: emu/clean-$HOSTMODEL 53emunuke:V: emu/nuke-$HOSTMODEL 54kernel:V: kernel/all-$HOSTMODEL 55kernelall:V: kernel/all-$HOSTMODEL 56kernelclean:V: kernel/clean-$HOSTMODEL 57kernelinstall:V: kernel/install-$HOSTMODEL 58kernelinstallall:V: kernel/installall-$HOSTMODEL 59kernelnuke:V: kernel/nuke-$HOSTMODEL 60nuke:V: nuke-$HOSTMODEL 61 62cleandist:V: clean 63 rm -f $ROOT/$OBJDIR/lib/lib*.a 64 65nukedist:V: nuke 66 rm -f $ROOT/$OBJDIR/bin/*.exe 67 rm -f $ROOT/$OBJDIR/lib/lib*.a 68 69&-Posix:QV: 70 for j in $DIRS utils tools 71 do 72 echo "(cd $j; mk $MKFLAGS $stem)" 73 (cd $j; mk $MKFLAGS $stem) || exit 1 74 done 75 76&-Nt:QV: 77 for (j in $DIRS utils tools) 78 { 79 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 80 @{builtin cd $j; mk.exe $MKFLAGS $stem } 81 } 82 83&-Inferno:QV: 84 for (j in $DIRS utils) 85 { 86 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 87 @{builtin cd $j; mk $MKFLAGS $stem } 88 } 89 90&-Plan9:QV: 91 for (j in $DIRS utils) 92 { 93 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 94 @{builtin cd $j; mk $MKFLAGS $stem } 95 } 96 97emu/&-Posix:QV: 98 for j in $EMUDIRS 99 do 100 echo "(cd $j; mk $MKFLAGS $stem)" 101 (cd $j; mk $MKFLAGS $stem) || exit 1 102 done 103 104emu/&-Nt:QV: 105 for (j in $EMUDIRS) 106 { 107 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 108 @{builtin cd $j; mk $MKFLAGS $stem } 109 } 110 111emu/&-Plan9:QV: 112 for (j in $EMUDIRS) 113 { 114 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 115 @{builtin cd $j; mk $MKFLAGS $stem } 116 } 117 118kernel/&-Posix:QV: 119 for j in $KERNEL_DIRS 120 do 121 echo "(cd $j; mk $MKFLAGS $stem)" 122 (cd $j; mk $MKFLAGS $stem) || exit 1 123 done 124 125kernel/&-Nt:QV: 126 for (j in $KERNEL_DIRS) 127 { 128 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 129 @{builtin cd $j; mk $MKFLAGS $stem } 130 } 131 132kernel/&-Inferno:QV: 133 for (j in $KERNEL_DIRS) 134 { 135 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 136 @{builtin cd $j; mk $MKFLAGS $stem } 137 } 138 139kernel/&-Plan9:QV: 140 for (j in $KERNEL_DIRS) 141 { 142 echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' 143 @{builtin cd $j; mk $MKFLAGS $stem } 144 } 145 146# Convenience targets 147 148Inferno-% inferno-% Inferno-386-% inferno-386-%:V: 149 mk 'SYSHOST=Inferno' 'OBJTYPE=386' $stem 150 151Inferno-arm-% inferno-arm-%:V: 152 mk 'SYSHOST=Inferno' 'OBJTYPE=arm' $stem 153 154Plan9-% plan9-%:V: 155 mk 'SYSHOST=Plan9' 'OBJTYPE=386' $stem 156 157Irix-% irix-%:V: 158 mk 'SYSHOST=Irix' 'OBJTYPE=mips' $stem 159 160Linux-% linux-%:V: 161 mk 'SYSHOST=Linux' 'OBJTYPE=386' $stem 162 163NetBSD-% netbsd-%:V: 164 mk 'SYSHOST=NetBSD' 'OBJTYPE=386' $stem 165 166Nt-% nt-% Win95-% win95-%:V: 167 mk 'SYSHOST=Nt' 'OBJTYPE=386' $stem 168 169Solaris-% solaris-%:V: 170 mk 'SYSHOST=Solaris' 'OBJTYPE=sparc' $stem 171 172mkdirs:V: mkdirs-$SHELLTYPE 173 174mkdirs-rc:V: 175 mkdir -p `{cat lib/emptydirs} 176 chmod 555 mnt/* n/client/* n/* 177 178mkdirs-sh:V: 179 mkdir -p `cat lib/emptydirs` 180 chmod 555 mnt/* n/client/* n/* 181 182mkdirs-nt:V: 183 mkdir -p `{cmd /c type lib\emptydirs} 184