linux-build 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. #!/bin/rc -e
  2. # Derived from the 9legacy build scripts
  3. rfork en
  4. fn build_386{
  5. # for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  6. # for(i in /sys/src/cmd/8?) {cd $i && mk nuke && mk install && mk clean}
  7. cd /sys/src && objtype=386 {mk nuke && mk install && mk clean}
  8. cd /sys/src/9/pc && for(i in pcf pccpu pccpuf) {test -f $i && mk nuke && mk CONF'='$i install && mk clean}
  9. if(test -d /sys/src/9/pcboot) {
  10. rm -f /386/9load* /386/9pxe* /386/mbr /386/pbs /386/pbslba
  11. if (test -f /sys/src/9/pcboot/bootcfg) # Geoff
  12. cd /sys/src/9/pcboot && for(i in boot bootpbs load loadusb) {test -f $i && mk clean && mk CONF'='$i install && mk clean}
  13. if not
  14. cd /sys/src/9/pcboot && mk clean && mk install && mk clean
  15. cd /sys/src/boot/pc && mk clean && mk install && mk clean
  16. }
  17. if not {
  18. cd /sys/src/boot/pc && mk clean && mk install && mk clean
  19. if(test -d /sys/src/boot/pc-e820)
  20. cd /sys/src/boot/pc-e820 && mk clean && mk install && mk clean
  21. }
  22. }
  23. fn build_amd64{
  24. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  25. for(i in /sys/src/cmd/6?) {cd $i && mk nuke && mk install && mk clean}
  26. cd /sys/src && objtype=amd64 {mk install}
  27. if(test -d /sys/src/9k){
  28. if(test -f /sys/src/9k/CHANGES || test -f /sys/src/9k/Notes){
  29. touch /sys/src/9k/k10/uncached.h
  30. touch /sys/src/9k/k10/adr.h
  31. }
  32. if(! test -f /sys/src/9k/root/nvram)
  33. dd -if /dev/zero -of /sys/src/9k/root/nvram -bs 512 -count 1
  34. for(i in k10cpu k10cpuf k10f){
  35. if(test -f /sys/src/9k/k10/$i)
  36. cd /sys/src/9k/k10 && mk nuke && mk CONF'='$i install && mk nuke
  37. }
  38. }
  39. }
  40. fn build_arm{
  41. # make vfp the default for ARM
  42. fn 5l { /$cputype/bin/5l -f $* }
  43. fn pcc { /$cputype/bin/pcc -f $* }
  44. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  45. for(i in /sys/src/cmd/5?) {cd $i && mk nuke && mk install && mk clean}
  46. cd /sys/src && objtype=arm {mk nuke && mk install && mk clean}
  47. cd /sys/src/9/omap && mk nuke && mk CONF'='beagle install && mk clean
  48. cd /sys/src/9/kw && mk nuke && mk CONF'='plug install && mk clean
  49. cd /sys/src/9/teg2 && mk nuke && mk CONF'='ts install && mk clean
  50. if (test -f /sys/src/9/bcm/pi)
  51. cd /sys/src/9/bcm && mk nuke && mk CONF'='pi install && mk CONF'='picpu install && mk CONF'='piwifi install && mk clean
  52. if (test -f /sys/src/9/bcm/pi2)
  53. cd /sys/src/9/bcm && mk nuke && mk CONF'='pi2 install && mk CONF'='pi2cpu install && mk CONF'='pi2wifi install && mk clean
  54. if (test -f /sys/src/9/bcm/pi4)
  55. cd /sys/src/9/bcm && mk nuke && mk CONF'='pi4 install && mk CONF'='pi4cpu install && mk CONF'='pi4wifi install && mk clean
  56. }
  57. fn build_arm64{
  58. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  59. for(i in /sys/src/cmd/7?) {cd $i && mk nuke && mk install && mk clean}
  60. cd /sys/src && objtype=arm64 {mk nuke && mk install && mk clean}
  61. }
  62. fn build_power{
  63. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  64. for(i in /sys/src/cmd/q?) {cd $i && mk nuke && mk install && mk clean}
  65. cd /sys/src && objtype=power {mk nuke && mk install && mk clean}
  66. cd /sys/src/9/mtx && mk nuke && mk CONF'='mtx install && mk CONF'='mtxcpu install && mk clean
  67. for(i in /sys/src/9/vt4 /sys/src/boot/vt4) {test -d $i && cd $i && mk nuke && mk install && mk clean}
  68. for(i in /sys/src/9/vt5 /sys/src/boot/vt5) {test -d $i && cd $i && mk nuke && mk install && mk clean}
  69. }
  70. fn build_power64{
  71. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  72. for(i in /sys/src/cmd/9?) {cd $i && mk nuke && mk install && mk clean}
  73. cd /sys/src && objtype=power64 {mk nuke && mk install && mk clean}
  74. }
  75. fn build_mips{
  76. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  77. for(i in /sys/src/cmd/v?) {cd $i && mk nuke && mk install && mk clean}
  78. cd /sys/src && objtype=mips {mk nuke && mk install && mk clean}
  79. if(test -d /sys/src/9/rb)
  80. cd /sys/src/9/rb && mk nuke && mk install && mk clean
  81. if not
  82. echo missing /sys/src/9/rb
  83. if(test -d /sys/src/9/erl)
  84. cd /sys/src/9/erl && mk nuke && mk install && mk clean
  85. if not
  86. echo missing /sys/src/9/erl
  87. }
  88. fn build_spim{
  89. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  90. for(i in /sys/src/cmd/v?) {cd $i && mk nuke && mk install && mk clean}
  91. cd /sys/src && objtype=spim {mk nuke && mk install && mk clean}
  92. if(! test -f /sys/src/9/loongson/nvram)
  93. dd -if /dev/zero -of /sys/src/9/loongson/nvram -bs 512 -count 1
  94. cd /sys/src/9/loongson && mk nuke && mk CONF'='lncpu install && mk clean
  95. }
  96. fn build_spim64{
  97. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  98. for(i in /sys/src/cmd/4?) {cd $i && mk nuke && mk install && mk clean}
  99. cd /sys/src && objtype=spim64 {mk nuke && mk install && mk clean}
  100. # if(test -d /sys/src/9/loongson64) {
  101. # if(! test -f /sys/src/9/loongson64/nvram)
  102. # dd -if /dev/zero -of /sys/src/9/loongson64/nvram -bs 512 -count 1
  103. # cd /sys/src/9/loongson64 && mk nuke && mk CONF'='ln64cpu install && mk clean
  104. # }
  105. # if not
  106. # echo missing /sys/src/9/loongson64
  107. }
  108. fn build_mips64{
  109. for(i in /sys/src/libc) {cd $i && mk nuke && mk install && mk clean}
  110. for(i in /sys/src/cmd/4?) {cd $i && mk nuke && mk install && mk clean}
  111. cd /sys/src && objtype=mips64 {mk nuke && mk install && mk clean}
  112. }
  113. mkdir -p /acme/lib
  114. mkdir -p /lib/audio
  115. mkdir -p /mail/lib
  116. mkdir -p /rc/bin
  117. arch=(386 amd64)
  118. for(i in $arch){
  119. echo build $i
  120. mkdir -p /acme/bin/$i
  121. mkdir -p /$i/lib
  122. mkdir -p /$i/bin/auth
  123. mkdir -p /$i/bin/aux
  124. mkdir -p /$i/bin/dial
  125. mkdir -p /$i/bin/disk
  126. mkdir -p /$i/bin/fossil
  127. mkdir -p /$i/bin/fs
  128. mkdir -p /$i/bin/games
  129. mkdir -p /$i/bin/ip
  130. mkdir -p /$i/bin/ip/httpd
  131. mkdir -p /$i/bin/ndb
  132. mkdir -p /$i/bin/replica
  133. mkdir -p /$i/bin/upas
  134. mkdir -p /$i/bin/usb
  135. mkdir -p /$i/bin/venti
  136. build_$i
  137. if(! ~ $status '')
  138. exit build
  139. }
  140. # clean
  141. cd /sys/src/cmd && mk nuke
  142. # dist
  143. for(i in $arch){
  144. mkdir -p /sys/lib/dist/bin/$i
  145. }
  146. mkdir -p /sys/lib/dist/pc/multi
  147. cd /sys/lib/dist/cmd && mk clean && mk install && mk clean
  148. cd /sys/lib/dist/cmd/multi && mk clean && mk && mk install && mk scripts && mk clean
  149. cd /sys/lib/dist/pc && mk clean && mk cddisk
  150. echo IN /sys/lib/dist/pc
  151. ls -l
  152. cd /sys/src/9/pc && mk nuke
  153. cd /sys/src/cmd && mk nuke
  154. # man
  155. cd /sys/lib/man/lookman && mk index
  156. cd /sys/man && mk