Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
4.9 KiB

  1. @echo off
  2. REM
  3. REM --- Batch file to build batch files
  4. REM
  5. if not "%myGrep%" == "" set mygrep=grep.exe
  6. REM --- Call txt2dat.bat for build text to data file conversion
  7. call txt2dat.bat
  8. REM
  9. REM --- Check for valid parameters passed to us
  10. REM
  11. if "%bldProject%" == "" goto exit
  12. set needDsed=N
  13. set needRsed=N
  14. set needTsed=N
  15. set needawk=N
  16. set needbat=N
  17. set bldTgtEnv=%bldProject%
  18. if not exist %bldTgTEnv%?.dat goto noDat
  19. if not exist %bldTgtEnv%bat set needbat=Y
  20. if not exist %bldTgtEnv%d.sed set needDsed=Y
  21. if not exist %bldTgtEnv%r.sed set needRsed=Y
  22. if not exist %bldTgtEnv%t.sed set needTsed=Y
  23. if not exist %bldTgTEnv%1.awk set needawk=Y
  24. if %needbat% == N goto needbatX
  25. :needbat
  26. sed "s/_tgtType_/%bldTgTEnv%/g" bat.tmp > %bldTgTEnv%bat
  27. :needbatX
  28. if %needawk% == N goto needawkX
  29. :needawk
  30. sed "s/_1_/%bldTgTEnv%/g" 1awk.tmp > %bldTgTEnv%1.awk
  31. :needawkX
  32. if %needDsed% == N goto dsedX
  33. :dsed
  34. sed "s/_1_/%bldTgTEnv%/g" dsed.tmp > %bldTgTEnv%D.sed
  35. :dsedX
  36. if %needRsed% == N goto rsedX
  37. :rsed
  38. sed "s/_1_/%bldTgTEnv%/g" rsed.tmp > %bldTgTEnv%R.sed
  39. :rsedX
  40. if %needTsed% == N goto tsedX
  41. :tsed
  42. sed "s/_1_/%bldTgTEnv%/g" tsed.tmp > %bldTgTEnv%T.sed
  43. :tsedX
  44. REM
  45. REM --- OK, we've got a target and data file.
  46. REM
  47. echo MKBAT.BAT: Making %bldTgtEnv%bat...
  48. attrib -r %bldTgtEnv%bat
  49. sed -f %bldTgtEnv%d.sed bat.tmp > %bldTgtEnv%bat
  50. echo MKBAT.BAT: Making %bldTgtEnv%d1.awk...
  51. sed -f %bldTgtEnv%d.sed tmplate1.awk > %bldTgtEnv%d1.awk
  52. echo MKBAT.BAT: Making %bldTgtEnv%r1.awk...
  53. sed -f %bldTgtEnv%r.sed tmplate1.awk > %bldTgtEnv%r1.awk
  54. echo MKBAT.BAT: Making %bldTgtEnv%t1.awk...
  55. sed -f %bldTgtEnv%t.sed tmplate1.awk > %bldTgtEnv%t1.awk
  56. echo MKBAT.BAT: Making %bldTgtEnv%d2.awk...
  57. sed -f %bldTgtEnv%d.sed tmplate2.awk > %bldTgtEnv%d2.awk
  58. echo MKBAT.BAT: Making %bldTgtEnv%r2.awk...
  59. sed -f %bldTgtEnv%r.sed tmplate2.awk > %bldTgtEnv%r2.awk
  60. echo MKBAT.BAT: Making %bldTgtEnv%t2.awk...
  61. sed -f %bldTgtEnv%t.sed tmplate2.awk > %bldTgtEnv%t2.awk
  62. echo MKBAT.BAT: Making del%bldTgtEnv%.bat...
  63. if exist %bldTgtEnv%d.sed sed -f %bldTgtEnv%d.sed del1.awk > mkbattmp.awk
  64. if exist %bldTgtEnv%r.sed sed -f %bldTgtEnv%r.sed del1.awk >> mkbattmp.awk
  65. if exist %bldTgtEnv%t.sed sed -f %bldTgtEnv%t.sed del1.awk >> mkbattmp.awk
  66. awk -f del.awk %bldTgtEnv%?.dat | sort | uniq > tmp
  67. awk -f mkbattmp.awk tmp > del%bldTgtEnv%.bat
  68. del mkbattmp.awk
  69. del tmp
  70. echo MKBAT.BAT: Making tmp%bldTgtEnv%.bat...
  71. echo @echo off > tmp%bldTgtEnv%.bat
  72. echo call del%bldTgtEnv%.bat >> tmp%bldTgtEnv%.bat
  73. echo call %bldTgtEnv%d.bat >> tmp%bldTgtEnv%.bat
  74. echo call %bldTgtEnv%r.bat >> tmp%bldTgtEnv%.bat
  75. echo call %bldTgtEnv%t.bat >> tmp%bldTgtEnv%.bat
  76. echo MKBAT.BAT: Making %bldTgtEnv%d.bat...
  77. gawk -f %bldTgtEnv%d1.awk %bldTgtEnv%d.dat > %bldTgtEnv%d.bat
  78. gawk -f %bldTgtEnv%1.awk %bldTgtEnv%d.dat >> %bldTgtEnv%d.bat
  79. echo MKBAT.BAT: Making %bldTgtEnv%r.bat...
  80. gawk -f %bldTgtEnv%r1.awk %bldTgtEnv%r.dat > %bldTgtEnv%r.bat
  81. gawk -f %bldTgtEnv%1.awk %bldTgtEnv%r.dat >> %bldTgtEnv%r.bat
  82. echo MKBAT.BAT: Making %bldTgtEnv%t.bat...
  83. gawk -f %bldTgtEnv%t1.awk %bldTgtEnv%t.dat > %bldTgtEnv%t.bat
  84. gawk -f %bldTgtEnv%1.awk %bldTgtEnv%t.dat >> %bldTgtEnv%t.bat
  85. copy %bldTgtEnv%d2.awk d2.awk
  86. copy %bldTgtEnv%r2.awk r2.awk
  87. copy %bldTgtEnv%t2.awk t2.awk
  88. echo del d2.awk >> tmp%bldTgtEnv%.bat
  89. echo del r2.awk >> tmp%bldTgtEnv%.bat
  90. echo del t2.awk >> tmp%bldTgtEnv%.bat
  91. echo del %bldTgtEnv%d2.awk >> tmp%bldTgtEnv%.bat
  92. echo del %bldTgtEnv%r2.awk >> tmp%bldTgtEnv%.bat
  93. echo del %bldTgtEnv%t2.awk >> tmp%bldTgtEnv%.bat
  94. echo del del%bldTgtEnv%.bat >> tmp%bldTgtEnv%.bat
  95. echo del %bldTgtEnv%d.bat >> tmp%bldTgtEnv%.bat
  96. echo del %bldTgtEnv%r.bat >> tmp%bldTgtEnv%.bat
  97. echo del %bldTgtEnv%t.bat >> tmp%bldTgtEnv%.bat
  98. del %bldTgtEnv%1.awk
  99. del %bldTgtEnv%d1.awk
  100. del %bldTgtEnv%r1.awk
  101. del %bldTgtEnv%t1.awk
  102. echo.
  103. echo MKBAT.BAT: Batch file is created! Running TMP%bldTgtEnv%.BAT now
  104. echo.
  105. if exist TMP%bldTgtEnv%.BAT call TMP%bldTgtEnv%.BAT
  106. if exist TMP%bldTgtEnv%.BAT del TMP%bldTgtEnv%.BAT
  107. goto exit
  108. :usage
  109. goto exit
  110. :noDat
  111. echo.
  112. echo MKBAT.BAT: No data file for %bldTgtEnv%
  113. echo.
  114. goto exit
  115. :noSed
  116. echo.
  117. echo MKBAT.BAT: Missing sed file %bldTgtEnv%d.sed
  118. echo MKBAT.BAT: Missing sed file %bldTgtEnv%r.sed
  119. echo MKBAT.BAT: Missing sed file %bldTgtEnv%t.sed
  120. echo.
  121. goto exit
  122. :noAwk
  123. echo.
  124. echo MKBAT.BAT: Missing awk file %bldTgtEnv%1.awk
  125. echo.
  126. goto exit
  127. :noBat
  128. echo.
  129. echo MKBAT.BAT: Missing file %bldTgtEnv%bat
  130. echo.
  131. goto exit
  132. :exit
  133. call makego.bat
  134. del %bldTgtEnv%bat
  135. set bldTgtEnv=