mkfile 3.5 KB

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