mk_config 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. set -e
  2. create_dir $CONFIG
  3. create_dir $CONFIG/bin
  4. echo "echo $SYSNAME" > $CONFIG/bin/ack_sys
  5. chmod +x $CONFIG/bin/ack_sys
  6. cd $SRC_HOME
  7. find . -type d -print > $CONFIG/dir_list
  8. cd $CONFIG
  9. for i in mach/*/libsys
  10. do
  11. rm -rf $i
  12. done
  13. for i in `cat dir_list`
  14. do
  15. create_dir $i
  16. rm -f $i/No*
  17. if [ -f $i/Makefile ]
  18. then
  19. ( cd $i ; if make clean ; then exit 0 ; else exit 0 ; fi ) > /dev/null 2>&1
  20. fi
  21. if [ -f $SRC_HOME/$i/proto.make ]
  22. then mk_makefile $SRC_HOME/$i/proto.make > $i/Makefile
  23. fi
  24. if [ -f $SRC_HOME/$i/Action ]
  25. then
  26. cd $SRC_HOME/$i
  27. cp Action* $CONFIG/$i
  28. chmod +w $CONFIG/$i/Action*
  29. cd $CONFIG
  30. fi
  31. done
  32. cd $CONFIG
  33. for i in lang/cem/cemcom.ansi lang/cem/cemcom lang/m2/comp
  34. do
  35. cp $SRC_HOME/$i/BigPars $CONFIG/$i/Parameters
  36. chmod +w $CONFIG/$i/Parameters
  37. done
  38. for i in lang/pc/comp lang/cem/cpp.ansi
  39. do
  40. cp $SRC_HOME/$i/Parameters $CONFIG/$i/Parameters
  41. chmod +w $CONFIG/$i/Parameters
  42. done
  43. cd $CONFIG/mach
  44. for i in *
  45. do
  46. if [ -d $i ]
  47. then
  48. if [ -d $i/as ]
  49. then
  50. cd $i/as
  51. mk_makefile $SRC_HOME/mach/proto/as/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
  52. cd ../..
  53. fi
  54. if [ -d $i/top ]
  55. then
  56. cd $i/top
  57. mk_makefile $SRC_HOME/mach/proto/top/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
  58. cd ../..
  59. fi
  60. if [ -d $i/cg ]
  61. then
  62. cd $i/cg
  63. mk_makefile $SRC_HOME/mach/proto/cg/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
  64. cd ../..
  65. fi
  66. if [ -d $i/ncg ]
  67. then
  68. cd $i/ncg
  69. mk_makefile $SRC_HOME/mach/proto/ncg/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
  70. if [ -f $SRC_HOME/mach/$i/ncg/table_dir ]
  71. then
  72. ed -s Makefile <<EOF
  73. /^#TABLE_DEFINE/+1r $SRC_HOME/mach/$i/ncg/table_dir
  74. w
  75. q
  76. EOF
  77. fi
  78. cd ../..
  79. fi
  80. if [ -f $SRC_HOME/mach/$i/mach_params ]
  81. then :
  82. else continue
  83. fi
  84. for j in libem libend libmon libfp libsys libdb
  85. do
  86. if [ -d $i/$j ]
  87. then
  88. cd $i/$j
  89. mk_makefile $SRC_HOME/mach/proto/libg/proto.$j | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" > Makefile
  90. cd ../..
  91. fi
  92. done
  93. for j in libbsd4_1a libbsd4_2 libsysV_2
  94. do
  95. if [ -d $i/$j ]
  96. then
  97. cd $i/$j
  98. mk_makefile $SRC_HOME/mach/proto/libg/proto.libsys | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" -e "s/libsys/$j/g" > Makefile
  99. cd ../..
  100. fi
  101. done
  102. for j in libcc libcc.ansi libm2 libpc libbc liboc libf77
  103. do
  104. create_dir $i/$j
  105. rm -f $i/$j/No*
  106. cd $i/$j
  107. mk_makefile $SRC_HOME/mach/proto/libg/proto.$j | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" > Makefile
  108. cd ../..
  109. done
  110. if [ $i = vax4 ]
  111. then :
  112. elif [ -d $i/libsys ]
  113. then :
  114. else
  115. create_dir $i/libsys
  116. rm -f $i/libsys/No*
  117. cd $i/libsys
  118. mk_makefile $SRC_HOME/mach/proto/libg/proto.sysmon | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" > Makefile
  119. cd ../..
  120. fi
  121. fi
  122. done