mkfile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. objtype=386
  2. </$objtype/mkfile
  3. BIN=/386
  4. TARG=\
  5. 9load\
  6. 9pxeload\
  7. 9loadlite\
  8. 9loaddebug\
  9. 9loadlitedebug\
  10. ld.com\
  11. mbr\
  12. pbs\
  13. pbslba\
  14. CORE=\
  15. alarm.$O\
  16. cga.$O\
  17. clock.$O\
  18. console.$O\
  19. dosboot.$O\
  20. donprint.$O\
  21. devfloppy.$O\
  22. dma.$O\
  23. fs.$O\
  24. ilock.$O\
  25. kbd.$O\
  26. kfsboot.$O\
  27. queue.$O\
  28. trap.$O\
  29. LOAD=\
  30. 8250.$O\
  31. apm.$O\
  32. boot.$O\
  33. devpccard.$O\
  34. conf.$O\
  35. devi82365.$O\
  36. devsd.$O\
  37. inflate.$O\
  38. load.$O\
  39. memory.$O\
  40. part.$O\
  41. pci.$O\
  42. sdata.$O\
  43. sdmylex.$O\
  44. sd53c8xx.$O\
  45. sdscsi.$O\
  46. ETHER=\
  47. bootp.$O\
  48. ether.$O\
  49. ether2114x.$O\
  50. ether2000.$O\
  51. ether589.$O\
  52. ether79c970.$O\
  53. ether8003.$O\
  54. ether8139.$O\
  55. ether82557.$O\
  56. ether83815.$O\
  57. ether8390.$O\
  58. etherec2t.$O\
  59. etherelnk3.$O\
  60. BCOM=\
  61. bcom.$O\
  62. bootld.$O\
  63. devsd.$O\
  64. memory.$O\
  65. part.$O\
  66. pci.$O\
  67. sdata.$O\
  68. sdscsi.$O\
  69. HFILES=\
  70. lib.h\
  71. mem.h\
  72. dat.h\
  73. fns.h\
  74. io.h\
  75. CFLAGS=-FVw -I.
  76. all:V: $TARG
  77. 9load: l.$O $CORE $LOAD $ETHER
  78. $LD -o $target -H3 -T0x80010000 -l $prereq -lflate -lc
  79. ls -l $target
  80. 9pxeload: lpxe.$O $CORE $LOAD $ETHER
  81. $LD -o $target -H3 -T0x80007C00 -l $prereq -lflate -lc
  82. ls -l $target
  83. 9loaddebug: l.$O $CORE $LOAD $ETHER
  84. $LD -o $target -T0x80010000 -l $prereq -lflate -lc
  85. ls -l $target
  86. # acid $target
  87. # map({"text", 0x80010000, 0x80090000, 0x00000020})
  88. 9loadlite: l.$O $CORE $LOAD noether.$O
  89. $LD -o $target -H3 -T0x80010000 -l $prereq -lflate -lc
  90. ls -l $target
  91. 9loadlitedebug: l.$O $CORE $LOAD noether.$O
  92. $LD -o $target -T0x80010000 -l $prereq -lflate -lc
  93. ls -l $target
  94. # acid $target
  95. # map({"text", 0x80010000, 0x80090000, 0x00000020})
  96. ld.com: ld.$O $CORE $BCOM
  97. $LD -o $target -H3 -T0x80080100 -l $prereq -lc
  98. ls -l $target
  99. lddebug: ld.$O $CORE $BCOM
  100. $LD -o $target -T0x80080100 -l $prereq -lc
  101. ls -l $target
  102. # acid $target
  103. # map({"text", 0x80080100, 0x800B0000, 0x00000020})
  104. ld.$O: l.s
  105. $AS -DDOTCOM -o $target l.s
  106. lpxe.$O: l.s
  107. $AS -DPXE -o $target l.s
  108. %.$O: %.s
  109. $AS $stem.s
  110. %.$O: %.c
  111. $CC $CFLAGS $stem.c
  112. %.$O: $HFILES
  113. l.$O pbs.$O pbslba.$O mbr.$O: x16.h
  114. clock.$O floppy.$O trap.$O: ureg.h
  115. bcom.$O conf.$O devfloppy.$O devsd.$O dosboot.$O fs.$O \
  116. kfsboot.$O load.$O part.$O: dosfs.h fs.h kfs.h
  117. ether.$O etherelnk3.$O: etherif.h
  118. devsd.$O part.$O sdata.$O sdscsi.$O: sd.h
  119. bootp.$O: ip.h
  120. mbr: mbr.$O
  121. $LD -o $target -H3 -T0x0600 -l $prereq
  122. ls -l $target
  123. pbs&: pbs%.$O
  124. $LD -o $target -H3 -T0x7C00 -l $prereq
  125. ls -l $target
  126. pbs&.debug: pbs%.$O
  127. $LD -o $target -T0x7C00 -l $prereq
  128. ls -l $target
  129. # acid $target
  130. # map({"text", 0x7C00, 0x7E00, 0x00000020})
  131. clean:
  132. rm -f *.[$OS] [$OS].out y.tab.? y.debug y.output $TARG 9loaddebug lddebug
  133. install:V:
  134. for (i in $TARG)
  135. mk $MKFLAGS $i.install
  136. %.install:V: $BIN/%
  137. $BIN/%: %
  138. cp $stem $BIN/$stem
  139. UPDATE=\
  140. mkfile\
  141. ${CORE:%.$O=%.c}\
  142. ${LOAD:%.$O=%.c}\
  143. ${BCOM:%.$O=%.c}\
  144. ${ETHER:%.$O=%.c}\
  145. $HFILES\
  146. l.s\
  147. noether.c\
  148. pbs.s\
  149. pbslba.s\
  150. mbr.s\
  151. x16.h\
  152. ureg.h\
  153. dosfs.h\
  154. fs.h\
  155. kfs.h\
  156. etherif.h\
  157. sd.h\
  158. ip.h\
  159. devfloppy.h\
  160. ${TARG:%=/386/%}\
  161. update:V:
  162. update $UPDATEFLAGS $UPDATE