home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume20 / dmake / patch02l < prev    next >
Encoding:
Text File  |  1991-06-29  |  37.5 KB  |  1,135 lines

  1. Newsgroups: comp.sources.misc
  2. From: Dennis Vadura <dvadura@watdragon.waterloo.edu>
  3. Subject:  v20i087:  dmake - dmake version 3.7, Patch02l/12
  4. Message-ID: <1991Jun29.222820.4770@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: b16284883a0565748b05cb044f6d4556
  6. Date: Sat, 29 Jun 1991 22:28:20 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: Dennis Vadura <dvadura@watdragon.waterloo.edu>
  10. Posting-number: Volume 20, Issue 87
  11. Archive-name: dmake/patch02l
  12. Patch-To: dmake: Volume 19, Issue 22-58
  13.  
  14. #!/bin/sh
  15. # this is dp2.11 (part 11 of a multipart archive)
  16. # do not concatenate these parts, unpack them in order with /bin/sh
  17. # file dm37p2 continued
  18. #
  19. if test ! -r _shar_seq_.tmp; then
  20.     echo 'Please unpack part 1 first!'
  21.     exit 1
  22. fi
  23. (read Scheck
  24.  if test "$Scheck" != 11; then
  25.     echo Please unpack part "$Scheck" next!
  26.     exit 1
  27.  else
  28.     exit 0
  29.  fi
  30. ) < _shar_seq_.tmp || exit 1
  31. if test ! -f _shar_wnt_.tmp; then
  32.     echo 'x - still skipping dm37p2'
  33. else
  34. echo 'x - continuing file dm37p2'
  35. sed 's/^X//' << 'SHAR_EOF' >> 'dm37p2' &&
  36. X!    .IF $(SWAP) == y
  37. X!       SWP_SRC = find.c spawn.c
  38. X!       ASRC += exec.asm
  39. X!    .ELSE
  40. X!       SWP_SRC = tee.c
  41. X!    .END
  42. XX  .ELSE
  43. XX     SWP_SRC = tee.c
  44. XX  .END
  45. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/msdos/bccdos/startup.mk    Fri Jun 28 08:22:09 1991
  46. X--- msdos/bccdos/startup.mk    Mon Jun 10 08:54:28 1991
  47. X***************
  48. X*** 98,115 ****
  49. XX  # Implicit generation rules for making inferences.
  50. XX  # We don't provide .yr or .ye rules here.  They're obsolete.
  51. XX  # Rules for making *$O
  52. X!    %$O : %.c ; $(CC) $(CFLAGS) -c $<
  53. X!    %$O : %$P ; $(PC) $(PFLAGS) -c $<
  54. X!    %$O : %$S ; $(AS) $(ASFLAGS) $(<:s,/,\);
  55. XX     %$O : %.cl ; class -c $<
  56. X!    %$O : %.e %.r %.F %$F ; $(FC) $(RFLAGS) $(EFLAGS) $(FFLAGS) -c $<
  57. XX  
  58. XX  # Executables
  59. X!    %$E : %$O ; $(CC) $(LDFLAGS) -o$@ $< $(LDLIBS)
  60. XX  
  61. XX  # lex and yacc rules
  62. X!    %.c : %.y ; $(YACC)  $(YFLAGS) $<; mv $(YTAB).c $@
  63. X!    %.c : %.l ; $(LEX)   $(LFLAGS) $<; mv $(LEXYY).c $@
  64. XX  
  65. XX  # RCS support
  66. XX  .IF $(_HAVE_RCS)
  67. X--- 98,115 ----
  68. XX  # Implicit generation rules for making inferences.
  69. XX  # We don't provide .yr or .ye rules here.  They're obsolete.
  70. XX  # Rules for making *$O
  71. X!    %$O .SWAP: %.c ; $(CC) $(CFLAGS) -c $<
  72. X!    %$O .SWAP: %$P ; $(PC) $(PFLAGS) -c $<
  73. X!    %$O .SWAP: %$S ; $(AS) $(ASFLAGS) $(<:s,/,\);
  74. XX     %$O : %.cl ; class -c $<
  75. X!    %$O .SWAP: %.e %.r %.F %$F ; $(FC) $(RFLAGS) $(EFLAGS) $(FFLAGS) -c $<
  76. XX  
  77. XX  # Executables
  78. X!    %$E .SWAP: %$O ; $(CC) $(LDFLAGS) -e$@ $<
  79. XX  
  80. XX  # lex and yacc rules
  81. X!    %.c .SWAP: %.y ; $(YACC)  $(YFLAGS) $<; mv $(YTAB).c $@
  82. X!    %.c .SWAP: %.l ; $(LEX)   $(LFLAGS) $<; mv $(LEXYY).c $@
  83. XX  
  84. XX  # RCS support
  85. XX  .IF $(_HAVE_RCS)
  86. X***************
  87. X*** 124,130 ****
  88. XX  .END
  89. XX  
  90. XX  # Recipe to make archive files.
  91. X! %$A :
  92. XX  [
  93. XX     $(AR) $(ARFLAGS) $@ $?
  94. XX     $(RM) $(RMFLAGS) $?
  95. X--- 124,130 ----
  96. XX  .END
  97. XX  
  98. XX  # Recipe to make archive files.
  99. X! %$A .SWAP:
  100. XX  [
  101. XX     $(AR) $(ARFLAGS) $@ $?
  102. XX     $(RM) $(RMFLAGS) $?
  103. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/msdos/bccdos/mkswp.bat    Fri Jun 28 08:22:13 1991
  104. X--- msdos/bccdos/mkswp.bat    Thu Jun 27 23:44:28 1991
  105. X***************
  106. X*** 98,101 ****
  107. XX  copy utime.obj objects
  108. XX  del utime.obj
  109. XX  copy msdos\bccdos\startup.mk startup.mk
  110. X! tlink @msdos\bccdos\objswp.rsp,dmake.exe,NUL.MAP,@msdos\bccdos\libswp.rsp
  111. X--- 98,101 ----
  112. XX  copy utime.obj objects
  113. XX  del utime.obj
  114. XX  copy msdos\bccdos\startup.mk startup.mk
  115. X! tlink  @msdos\bccdos\objswp.rsp,dmake.exe,NUL.MAP,@msdos\bccdos\libswp.rsp
  116. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/msdos/bccdos/mk.bat    Fri Jun 28 08:22:15 1991
  117. X--- msdos/bccdos/mk.bat    Thu Jun 27 23:43:52 1991
  118. X***************
  119. X*** 93,96 ****
  120. XX  copy utime.obj objects
  121. XX  del utime.obj
  122. XX  copy msdos\bccdos\startup.mk startup.mk
  123. X! tlink @msdos\bccdos\obj.rsp,dmake.exe,NUL.MAP,@msdos\bccdos\lib.rsp
  124. X--- 93,96 ----
  125. XX  copy utime.obj objects
  126. XX  del utime.obj
  127. XX  copy msdos\bccdos\startup.mk startup.mk
  128. X! tlink  @msdos\bccdos\obj.rsp,dmake.exe,NUL.MAP,@msdos\bccdos\lib.rsp
  129. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/msdos/_chdir.c    Mon May  6 15:25:29 1991
  130. X--- msdos/_chdir.c    Thu Jun 27 23:31:11 1991
  131. X***************
  132. X*** 1,4 ****
  133. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/msdos/RCS/_chdir.c,v 1.1 91/05/06 15:25:28 dvadura Exp $
  134. XX  -- SYNOPSIS -- Change directory.
  135. XX  -- 
  136. XX  -- DESCRIPTION
  137. X--- 1,4 ----
  138. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/msdos/RCS/_chdir.c,v 1.2 91/06/27 23:30:54 dvadura Exp $
  139. XX  -- SYNOPSIS -- Change directory.
  140. XX  -- 
  141. XX  -- DESCRIPTION
  142. X***************
  143. X*** 27,32 ****
  144. X--- 27,35 ----
  145. XX  --
  146. XX  -- LOG
  147. XX  --     $Log:    _chdir.c,v $
  148. X+  * Revision 1.2  91/06/27  23:30:54  dvadura
  149. X+  * Make sure that chdir works accross drives, didn't before.
  150. X+  * 
  151. XX   * Revision 1.1  91/05/06  15:25:28  dvadura
  152. XX   * dmake Release Version 3.7
  153. XX   * 
  154. X***************
  155. X*** 44,50 ****
  156. XX     res = chdir(path);
  157. XX  
  158. XX  #if defined(OS2)
  159. X!    if (res != -1 && path[1] == ':' && *path != *Pwd) {
  160. XX        unsigned new_drive;
  161. XX        unsigned max_drives;
  162. XX  
  163. X--- 47,53 ----
  164. XX     res = chdir(path);
  165. XX  
  166. XX  #if defined(OS2)
  167. X!    if (res != -1 && path[1] == ':') {
  168. XX        unsigned new_drive;
  169. XX        unsigned max_drives;
  170. XX  
  171. X***************
  172. X*** 53,59 ****
  173. XX        _dos_setdrive(new_drive, &max_drives);
  174. XX     }
  175. XX  #else
  176. X!    if (res != -1 && path[1] == ':' && *path != *Pwd) {
  177. XX        union REGS  reg;
  178. XX  
  179. XX        /* we must change the logged drive, since the chdir worked. */
  180. X--- 56,62 ----
  181. XX        _dos_setdrive(new_drive, &max_drives);
  182. XX     }
  183. XX  #else
  184. X!    if (res != -1 && path[1] == ':') {
  185. XX        union REGS  reg;
  186. XX  
  187. XX        /* we must change the logged drive, since the chdir worked. */
  188. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/makefile.mk    Fri Jun 28 08:22:17 1991
  189. X--- makefile.mk    Mon Jun 24 11:31:53 1991
  190. X***************
  191. X*** 82,88 ****
  192. XX  public .PHONY : $(PUBLIC);
  193. XX  $(PUBLIC) .SHELL .NOSTATE: $(SRC)
  194. XX      genpub -n DMAKE $< >$@
  195. X!     rcsclean $@ >&/dev/null
  196. XX  
  197. XX  # Other obvious targets...
  198. XX  $(OBJDIR):;-$(eq,$(SHELL),$(COMSPEC) +md mkdir) $@
  199. X--- 82,88 ----
  200. XX  public .PHONY : $(PUBLIC);
  201. XX  $(PUBLIC) .SHELL .NOSTATE: $(SRC)
  202. XX      genpub -n DMAKE $< >$@
  203. X!     rcsclean $@ > /dev/null
  204. XX  
  205. XX  # Other obvious targets...
  206. XX  $(OBJDIR):;-$(eq,$(SHELL),$(COMSPEC) +md mkdir) $@
  207. X***************
  208. X*** 117,123 ****
  209. XX  dmake.shar : dir-copy
  210. XX  [
  211. XX      find dmake -type f -print >src-list
  212. X!     xshar -vc -o$@ -l40 `cat src-list`
  213. XX      $(RM) -rf src-list dmake
  214. XX  ]
  215. XX  
  216. X--- 117,123 ----
  217. XX  dmake.shar : dir-copy
  218. XX  [
  219. XX      find dmake -type f -print >src-list
  220. X!     xshar -vc -o$@ -L40 `cat src-list`
  221. XX      $(RM) -rf src-list dmake
  222. XX  ]
  223. XX  
  224. X***************
  225. X*** 167,178 ****
  226. XX  # unix-scripts.
  227. XX  #
  228. XX  unix-bsd43-scripts-flags   = OS=unix OSRELEASE=bsd43  OSENVIRONMENT=
  229. XX  unix-sysvr4-scripts-flags  = OS=unix OSRELEASE=sysvr4 OSENVIRONMENT=
  230. XX  unix-sysvr3-scripts-flags  = OS=unix OSRELEASE=sysvr3 OSENVIRONMENT=
  231. XX  unix-sysvr1-scripts-flags  = OS=unix OSRELEASE=sysvr1 OSENVIRONMENT=
  232. XX  unix-386ix-scripts-flags   = OS=unix OSRELEASE=386ix  OSENVIRONMENT=
  233. X! unix-bsd43-uw-scripts-flags= OS=unix OSRELEASE=bsd43  OSENVIRONMENT=uw
  234. X! unix-bsd43-vf-scripts-flags= OS=unix OSRELEASE=bsd43  OSENVIRONMENT=vf
  235. XX  tos--scripts-flags         = OS=tos  OSRELEASE=       OSENVIRONMENT=
  236. XX  
  237. XX  unix-scripts .SWAP : clean
  238. X--- 167,180 ----
  239. XX  # unix-scripts.
  240. XX  #
  241. XX  unix-bsd43-scripts-flags   = OS=unix OSRELEASE=bsd43  OSENVIRONMENT=
  242. X+ unix-bsd43-uw-scripts-flags= OS=unix OSRELEASE=bsd43  OSENVIRONMENT=uw
  243. X+ unix-bsd43-vf-scripts-flags= OS=unix OSRELEASE=bsd43  OSENVIRONMENT=vf
  244. XX  unix-sysvr4-scripts-flags  = OS=unix OSRELEASE=sysvr4 OSENVIRONMENT=
  245. XX  unix-sysvr3-scripts-flags  = OS=unix OSRELEASE=sysvr3 OSENVIRONMENT=
  246. X+ unix-sysvr3-pwd-scripts-flags  = OS=unix OSRELEASE=sysvr3 OSENVIRONMENT=pwd
  247. XX  unix-sysvr1-scripts-flags  = OS=unix OSRELEASE=sysvr1 OSENVIRONMENT=
  248. XX  unix-386ix-scripts-flags   = OS=unix OSRELEASE=386ix  OSENVIRONMENT=
  249. X! unix-coherent-scripts-flags= OS=unix OSRELEASE=coherent OSENVIRONMENT=
  250. XX  tos--scripts-flags         = OS=tos  OSRELEASE=       OSENVIRONMENT=
  251. XX  
  252. XX  unix-scripts .SWAP : clean
  253. X***************
  254. X*** 181,188 ****
  255. X--- 183,192 ----
  256. XX      $(MAKE) SCRIPTFILE=make.sh unix-bsd43-vf-scripts
  257. XX      $(MAKE) SCRIPTFILE=make.sh unix-sysvr4-scripts
  258. XX      $(MAKE) SCRIPTFILE=make.sh unix-sysvr3-scripts
  259. X+     $(MAKE) SCRIPTFILE=make.sh unix-sysvr3-pwd-scripts
  260. XX      $(MAKE) SCRIPTFILE=make.sh unix-sysvr1-scripts
  261. XX      $(MAKE) SCRIPTFILE=make.sh unix-386ix-scripts
  262. X+     $(MAKE) SCRIPTFILE=make.sh unix-coherent-scripts
  263. XX  
  264. XX  unix-%-scripts .SWAP :
  265. XX      $(MAKECMD) -s $($@-flags) .KEEP_STATE:= public
  266. X***************
  267. X*** 217,224 ****
  268. XX  msdos-msc51dosswp-scripts-flags = $(msdos-cf) OSRELEASE=mscdos MSC_VER=5.1
  269. XX  msdos-msc60dos-scripts-flags= $(msdos-cf) OSRELEASE=mscdos SWAP=n MSC_VER=6.0
  270. XX  msdos-msc60dosswp-scripts-flags = $(msdos-cf) OSRELEASE=mscdos MSC_VER=6.0
  271. XX  
  272. X! msdos-scripts: clean msdos-tcc-scripts msdos-bcc-scripts msdos-msc-scripts;
  273. XX  
  274. XX  msdos-tcc-scripts .SWAP :
  275. XX      $(MAKE) SCRIPTFILE=mk.bat msdos-tccdos-scripts
  276. X--- 221,232 ----
  277. XX  msdos-msc51dosswp-scripts-flags = $(msdos-cf) OSRELEASE=mscdos MSC_VER=5.1
  278. XX  msdos-msc60dos-scripts-flags= $(msdos-cf) OSRELEASE=mscdos SWAP=n MSC_VER=6.0
  279. XX  msdos-msc60dosswp-scripts-flags = $(msdos-cf) OSRELEASE=mscdos MSC_VER=6.0
  280. X+ msdos-ztcdos-scripts-flags= $(msdos-cf) OSRELEASE=ztcdos SWAP=n
  281. X+ msdos-ztcdosswp-scripts-flags= $(msdos-cf) OSRELEASE=ztcdos
  282. XX  
  283. X! msdos-scripts: clean\
  284. X!            msdos-tcc-scripts msdos-bcc-scripts\
  285. X!            msdos-msc-scripts msdos-ztc-scripts;
  286. XX  
  287. XX  msdos-tcc-scripts .SWAP :
  288. XX      $(MAKE) SCRIPTFILE=mk.bat msdos-tccdos-scripts
  289. X***************
  290. X*** 232,237 ****
  291. X--- 240,249 ----
  292. XX      $(MAKE) SCRIPTFILE=mk$?.bat msdos-msc$?dos-scripts
  293. XX      $(MAKE) SCRIPTFILE=mk$?swp.bat msdos-msc$?dosswp-scripts
  294. XX  
  295. X+ msdos-ztc-scripts .SWAP :
  296. X+     $(MAKE) SCRIPTFILE=mk.bat msdos-ztcdos-scripts
  297. X+     $(MAKE) SCRIPTFILE=mkswp.bat msdos-ztcdosswp-scripts
  298. X+ 
  299. XX  msdos-%-scripts .SWAP .SILENT:
  300. XX      $(MAKE) -s $($@-flags) .KEEP_STATE:= public
  301. XX      $(MAKE) -ns SHELL=command.com COMSPEC=command.com .KEEP_STATE:= $(MS) $($@-flags) >$(SH)
  302. X***************
  303. X*** 239,245 ****
  304. XX  
  305. XX  
  306. XX  # We make the standard OS/2 scripts here, but we have to go and fix up the
  307. X! # mkXX.bat file since it contains names of temporary files for the response
  308. XX  # files required by the linker.  We need to also construct the response file
  309. XX  # contents.  These two functions are performed by the fix-msdos-%-scripts
  310. XX  # meta-target.
  311. X--- 251,257 ----
  312. XX  
  313. XX  
  314. XX  # We make the standard OS/2 scripts here, but we have to go and fix up the
  315. X! # mkXX.cmd file since it contains names of temporary files for the response
  316. XX  # files required by the linker.  We need to also construct the response file
  317. XX  # contents.  These two functions are performed by the fix-msdos-%-scripts
  318. XX  # meta-target.
  319. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/makefile    Mon May  6 10:15:52 1991
  320. X--- makefile    Mon Jun 24 11:23:01 1991
  321. X***************
  322. X*** 12,23 ****
  323. X--- 12,26 ----
  324. XX      @echo "   make bsd43vf       - Generic BSD 4.3 that needs vfprintf"
  325. XX      @echo "   make sysvr4        - Generic SysV R4 UNIX System"
  326. XX      @echo "   make sysvr3        - Generic SysV R3 UNIX System"
  327. X+     @echo "   make sysvr3pwd     - Generic SysV R3 UNIX System, our PWD"
  328. XX      @echo "   make sysvr1        - Generic SysV R1 UNIX System"
  329. XX      @echo "   make dynix         - Sequent DYNIX System"
  330. XX      @echo "   make ultrix        - Ultrix 3.0 System"
  331. XX      @echo "   make mips          - Any MIPS System"
  332. X+     @echo "   make coherent      - Any Coherent System"
  333. XX      @echo "   make 386ix         - 386/ix (SysV R3) System"
  334. XX      @echo "   make xenix         - 386 Xenix System"
  335. X+     @echo "   make xenixpwd      - 386 Xenix System, our PWD"
  336. XX      @echo "   make aix           - IBM RS6000/AIX System"
  337. XX      @echo "   make os2msc40      - OS/2 using MSC 4.0 compiler"
  338. XX      @echo "   make os2msc50      - OS/2 using MSC 5.0 compiler"
  339. X***************
  340. X*** 36,46 ****
  341. X--- 39,53 ----
  342. XX      @echo "   make msc50swp      - swapping DOS version with MSC 5.0"
  343. XX      @echo "   make msc51swp      - swapping DOS version with MSC 5.1"
  344. XX      @echo "   make msc60swp      - swapping DOS version with MSC 6.0"
  345. X+     @echo "   make ztc           - DOS with Zortech C++ 2.1"
  346. X+     @echo "   make ztcswp        - swapping DOS version with Zortech C++ 2.1"
  347. XX  
  348. XX  bsd43uw :; /bin/sh -x < unix/bsd43/uw/make.sh
  349. XX  bsd43vf dynix mips        :; /bin/sh -x < unix/bsd43/vf/make.sh
  350. XX  sysvr1 sysvr3 sysvr4 bsd43 386ix :; /bin/sh -x < unix/$@/make.sh
  351. X+ sysvr3pwd xenixpwd :; /bin/sh -x < unix/sysvr3/pwd/make.sh
  352. XX  ultrix xenix aix: sysvr3;
  353. X+ coherent :; /bin/sh -x < unix/coherent/make.sh
  354. XX  tos :; sh -x tos/make.sh
  355. XX  
  356. XX  # Various OS/2 targets.
  357. X***************
  358. X*** 53,58 ****
  359. XX  # batch file which will issue the appropriate instructions.
  360. XX  DOS_VER = tcc    msc40    msc50    msc51    msc60 \
  361. XX        tccswp msc40swp msc50swp msc51swp msc60swp \
  362. X!       bcc \
  363. X!       bccswp
  364. XX  $(DOS_VER) :; make.bat $@
  365. X--- 60,64 ----
  366. XX  # batch file which will issue the appropriate instructions.
  367. XX  DOS_VER = tcc    msc40    msc50    msc51    msc60 \
  368. XX        tccswp msc40swp msc50swp msc51swp msc60swp \
  369. X!       bcc    bccswp   ztc      ztcswp
  370. XX  $(DOS_VER) :; make.bat $@
  371. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/make.c    Fri Jun 28 08:22:19 1991
  372. X--- make.c    Thu Jun 27 23:29:56 1991
  373. X***************
  374. X*** 1,4 ****
  375. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/make.c,v 1.2 91/05/13 16:59:53 dvadura Exp $
  376. XX  -- SYNOPSIS -- perform the update of all outdated targets.
  377. XX  -- 
  378. XX  -- DESCRIPTION
  379. X--- 1,4 ----
  380. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/make.c,v 1.5 91/06/27 23:29:11 dvadura Exp $
  381. XX  -- SYNOPSIS -- perform the update of all outdated targets.
  382. XX  -- 
  383. XX  -- DESCRIPTION
  384. X***************
  385. X*** 42,51 ****
  386. XX  --
  387. XX  -- LOG
  388. XX  --     $Log:    make.c,v $
  389. X!  * Revision 1.2  91/05/13  16:59:53  dvadura
  390. X!  * Fixed bug when .SETDIR'ed to a directory and we have to modify the file
  391. X!  * name to use the .SETDIR of the parent cell and not Makedir.
  392. XX   * 
  393. XX   * Revision 1.1  91/05/06  15:23:19  dvadura
  394. XX   * dmake Release Version 3.7
  395. XX   * 
  396. X--- 42,58 ----
  397. XX  --
  398. XX  -- LOG
  399. XX  --     $Log:    make.c,v $
  400. X!  * Revision 1.5  91/06/27  23:29:11  dvadura
  401. X!  * Moved UpdateTimestamp call outside of if block around the :! processing
  402. X!  * code.
  403. XX   * 
  404. X+  * Revision 1.4  91/06/27  22:32:38  dvadura
  405. X+  * Fixed a NULL pointer bug when dealing with :! rules with empty out of
  406. X+  * daterequisite lists.
  407. X+  * 
  408. X+  * Revision 1.3  91/06/25  16:26:15  dvadura
  409. X+  * Made sure that Current_target is set when making individual recipe lines.
  410. X+  * 
  411. XX   * Revision 1.1  91/05/06  15:23:19  dvadura
  412. XX   * dmake Release Version 3.7
  413. XX   * 
  414. X***************
  415. X*** 192,199 ****
  416. XX  
  417. XX     if( cp->ce_attr & A_SETDIR ) {
  418. XX        /* Change directory only if the previous .SETDIR is a different
  419. X!       /* directory from the current one.  ie. all cells with the same .SETDIR
  420. X!       /* attribute are assumed to come from the same directory. */
  421. XX  
  422. XX        if( (setdirroot == NIL(CELL) || setdirroot->ce_dir != cp->ce_dir) &&
  423. XX            (push = Push_dir(cp->ce_dir,cp->CE_NAME,ignore)) )
  424. X--- 199,206 ----
  425. XX  
  426. XX     if( cp->ce_attr & A_SETDIR ) {
  427. XX        /* Change directory only if the previous .SETDIR is a different
  428. X!        * directory from the current one.  ie. all cells with the same .SETDIR
  429. X!        * attribute are assumed to come from the same directory. */
  430. XX  
  431. XX        if( (setdirroot == NIL(CELL) || setdirroot->ce_dir != cp->ce_dir) &&
  432. XX            (push = Push_dir(cp->ce_dir,cp->CE_NAME,ignore)) )
  433. X***************
  434. X*** 424,444 ****
  435. XX          TKSTR tk;
  436. XX  
  437. XX          _drop_mac( m_q );
  438. X-         SET_TOKEN( &tk, outall );
  439. XX  
  440. X!         Doing_bang = TRUE;
  441. X!         name = Get_token( &tk, "", FALSE );
  442. X!         do {
  443. X!            m_q->ht_value = name;
  444. XX  
  445. X!            Wait_for_completion = TRUE;    /* Reset in Exec_commands */
  446. X!            rval = Exec_commands( cp );
  447. X!            Unlink_temp_files(cp);
  448. XX          }
  449. X-         while( *(name = Get_token( &tk, "", FALSE )) != '\0' );
  450. X-         Doing_bang = FALSE;
  451. X-         Update_time_stamp( cp );
  452. XX  
  453. XX          m_q->ht_value = NIL(char);
  454. XX       }
  455. XX        }
  456. X--- 431,454 ----
  457. XX          TKSTR tk;
  458. XX  
  459. XX          _drop_mac( m_q );
  460. XX  
  461. X!         if( outall && *outall ) {
  462. X!            SET_TOKEN( &tk, outall );
  463. XX  
  464. X!            Doing_bang = TRUE;
  465. X!            name = Get_token( &tk, "", FALSE );
  466. X!            do {
  467. X!           m_q->ht_value = name;
  468. X! 
  469. X!           Wait_for_completion = TRUE;    /* Reset in Exec_commands */
  470. X!           rval = Exec_commands( cp );
  471. X!           Unlink_temp_files(cp);
  472. X!            }
  473. X!            while( *(name = Get_token( &tk, "", FALSE )) != '\0' );
  474. X!            Doing_bang = FALSE;
  475. XX          }
  476. XX  
  477. X+         Update_time_stamp( cp );
  478. XX          m_q->ht_value = NIL(char);
  479. XX       }
  480. XX        }
  481. X***************
  482. X*** 572,578 ****
  483. XX  
  484. XX     DB_ENTER( "Exec_commands" );
  485. XX  
  486. X-    Current_target = cp;
  487. XX     attr  = Glob_attr | cp->ce_attr;
  488. XX     trace = Trace || !(attr & A_SILENT);
  489. XX     group = cp->ce_flag & F_GROUP;
  490. X--- 582,587 ----
  491. X***************
  492. X*** 583,588 ****
  493. X--- 592,601 ----
  494. XX     _recipes[ RP_RECIPE ] = cp->ce_recipe;
  495. XX  
  496. XX     if( group ) {
  497. X+       /* Leave this assignment of Current_target here.  It is needed just
  498. X+        * incase the user hits ^C after the tempfile for the group recipe
  499. X+        * has been opened. */
  500. X+       Current_target = cp;
  501. XX        trace  = Trace || !(attr & A_SILENT);
  502. XX  
  503. XX        if( !Trace ) tmpfile = Start_temp( Grp_suff, cp, &groupfile );
  504. X***************
  505. X*** 603,608 ****
  506. X--- 616,626 ----
  507. XX        char   *p;
  508. XX        int    new_attr = FALSE;
  509. XX        int    shell;
  510. X+ 
  511. X+       /* Reset it for each recipe line otherwise tempfiles don't get removed.
  512. X+        * Since processing of $(mktmp ...) depends on Current_target being
  513. X+        * correctly set. */
  514. X+       Current_target = cp;
  515. XX  
  516. XX        /* Only check for +,-,%,@ if the recipe line begins with a '$' macro
  517. XX         * expansion.  Otherwise there is no way it is going to find these
  518. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/make.bat    Fri Jun 28 08:22:20 1991
  519. X--- make.bat    Mon Jun 24 11:22:56 1991
  520. X***************
  521. X*** 19,24 ****
  522. X--- 19,26 ----
  523. XX  if %1 == msc51swp goto mkmsc51swp
  524. XX  if %1 == msc60 goto mkmsc60
  525. XX  if %1 == msc60swp goto mkmsc60swp
  526. X+ if %1 == ztc goto mkztc
  527. X+ if %1 == ztcswp goto mkztcswp
  528. XX  
  529. XX  rem label the possible DOS variations for dmake here.
  530. XX  :error
  531. X***************
  532. X*** 36,41 ****
  533. X--- 38,45 ----
  534. XX  echo    msc50swp  - Microsoft C 5.0, MASM 5.1 compile of swapping dmake.
  535. XX  echo    msc51swp  - Microsoft C 5.1, MASM 5.1 compile of swapping dmake.
  536. XX  echo    msc60swp  - Microsoft C 6.0, MASM 5.1 compile of swapping dmake.
  537. X+ echo    ztc       - Zortech C++ 2.1 compile.
  538. X+ echo    ztcswp    - Zortech C++ 2.1 compile of swapping dmake.
  539. XX  goto end
  540. XX  
  541. XX  rem This is the script that makes dmake using Microsoft C 4.0
  542. X***************
  543. X*** 72,77 ****
  544. X--- 76,90 ----
  545. XX  
  546. XX  :mkmsc60swp
  547. XX  msdos\mscdos\mk60swp.bat
  548. X+ goto end
  549. X+ 
  550. X+ rem This is the script that makes dmake using Zortech C++ 2.1
  551. X+ :mkztc
  552. X+ msdos\ztcdos\mk.bat
  553. X+ goto end
  554. X+ 
  555. X+ :mkztcswp
  556. X+ msdos\ztcdos\mkswp.bat
  557. XX  goto end
  558. XX  
  559. XX  rem This is the script that makes dmake using Turbo C 2.0 or higher.
  560. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/infer.c    Mon May  6 15:23:17 1991
  561. X--- infer.c    Tue Jun 25 16:25:45 1991
  562. X***************
  563. X*** 1,4 ****
  564. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/infer.c,v 1.1 91/05/06 15:23:17 dvadura Exp $
  565. XX  -- SYNOPSIS -- infer how to make a target.
  566. XX  -- 
  567. XX  -- DESCRIPTION
  568. X--- 1,4 ----
  569. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/infer.c,v 1.2 91/06/25 16:25:07 dvadura Exp $
  570. XX  -- SYNOPSIS -- infer how to make a target.
  571. XX  -- 
  572. XX  -- DESCRIPTION
  573. X***************
  574. X*** 32,37 ****
  575. X--- 32,41 ----
  576. XX  --
  577. XX  -- LOG
  578. XX  --     $Log:    infer.c,v $
  579. X+  * Revision 1.2  91/06/25  16:25:07  dvadura
  580. X+  * Fixed the handling of F_REMOVE, F_INFER, and F_TARGET for infered
  581. X+  * prerequisites.
  582. X+  * 
  583. XX   * Revision 1.1  91/05/06  15:23:17  dvadura
  584. XX   * dmake Release Version 3.7
  585. XX   * 
  586. X***************
  587. X*** 196,218 ****
  588. XX           CELLPTR infcell=NIL(CELL);
  589. XX  
  590. XX       /* Compute the inferred prerequisite first. */
  591. X!      if( match->ic_meta && match->ic_name ) {
  592. X!         infcell = Def_cell( match->ic_name );
  593. X! 
  594. X!         if( first )
  595. X!            infcell->ce_flag |= F_RULES;
  596. XX          else
  597. X!            infcell->ce_flag |= F_INFER|F_REMOVE|F_TARGET;
  598. XX  
  599. XX          if( !match->ic_flag )
  600. XX             infcell->ce_attr |= A_NOINFER;
  601. XX       }
  602. XX  
  603. X-      /* Now attach the recipe from the previous MATCH entry and then
  604. X-       * add any prerequisites that you might think are required. */
  605. X-      if( infcell == NIL(CELL) && match->ic_name )
  606. X-         infcell = cp;
  607. X- 
  608. XX       /* Add global prerequisites from previous rule if there are any and
  609. XX        * the recipe. */
  610. XX       if( pmatch ) {
  611. X--- 200,224 ----
  612. XX           CELLPTR infcell=NIL(CELL);
  613. XX  
  614. XX       /* Compute the inferred prerequisite first. */
  615. X!      if( match->ic_name ) {
  616. X!         if( match->ic_meta )
  617. X!            infcell = Def_cell( match->ic_name );
  618. XX          else
  619. X!            infcell = cp;
  620. XX  
  621. X+         infcell->ce_flag |= F_TARGET;
  622. X+ 
  623. X+         if( infcell != cp ) {
  624. X+            infcell->ce_flag |= F_INFER;
  625. X+            if( !first ) infcell->ce_flag |= F_REMOVE;
  626. X+         }
  627. X+ 
  628. XX          if( !match->ic_flag )
  629. XX             infcell->ce_attr |= A_NOINFER;
  630. X+ 
  631. X+         first = FALSE;
  632. XX       }
  633. XX  
  634. XX       /* Add global prerequisites from previous rule if there are any and
  635. XX        * the recipe. */
  636. XX       if( pmatch ) {
  637. X***************
  638. X*** 223,230 ****
  639. XX          infcell->ce_attr |= (imeta->ce_attr & A_TRANSFER);
  640. XX  
  641. XX          if( !(infcell->ce_flag & F_RULES) ) {
  642. X!            infcell->ce_flag   |= (imeta->ce_flag & (F_SINGLE|F_GROUP));
  643. X!            infcell->ce_recipe  = imeta->ce_recipe;
  644. XX          }
  645. XX  
  646. XX          pmatch->ic_dfa->dl_per = NIL(char);
  647. X--- 229,236 ----
  648. XX          infcell->ce_attr |= (imeta->ce_attr & A_TRANSFER);
  649. XX  
  650. XX          if( !(infcell->ce_flag & F_RULES) ) {
  651. X!            infcell->ce_flag |= (imeta->ce_flag&(F_SINGLE|F_GROUP))|F_RULES;
  652. X!            infcell->ce_recipe = imeta->ce_recipe;
  653. XX          }
  654. XX  
  655. XX          pmatch->ic_dfa->dl_per = NIL(char);
  656. X***************
  657. X*** 266,272 ****
  658. XX       pmatch = match;
  659. XX       prereq = infcell;
  660. XX       match  = match->ic_parent;
  661. X-      first  = FALSE;
  662. XX        }
  663. XX  
  664. XX        DB_PRINT("inf", ("Terminated due to a match"));
  665. X--- 272,277 ----
  666. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/imacs.c    Mon May  6 15:23:16 1991
  667. X--- imacs.c    Tue Jun 25 16:24:50 1991
  668. X***************
  669. X*** 1,4 ****
  670. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/imacs.c,v 1.1 91/05/06 15:23:16 dvadura Exp $
  671. XX  -- SYNOPSIS -- define default internal macros.
  672. XX  -- 
  673. XX  -- DESCRIPTION
  674. X--- 1,4 ----
  675. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/imacs.c,v 1.2 91/06/25 16:24:40 dvadura Exp $
  676. XX  -- SYNOPSIS -- define default internal macros.
  677. XX  -- 
  678. XX  -- DESCRIPTION
  679. X***************
  680. X*** 30,35 ****
  681. X--- 30,38 ----
  682. XX  --
  683. XX  -- LOG
  684. XX  --     $Log:    imacs.c,v $
  685. X+  * Revision 1.2  91/06/25  16:24:40  dvadura
  686. X+  * Added .NOTABS special macro.
  687. X+  * 
  688. XX   * Revision 1.1  91/05/06  15:23:16  dvadura
  689. XX   * dmake Release Version 3.7
  690. XX   * 
  691. X***************
  692. X*** 94,104 ****
  693. XX     _set_string_var("GROUPSUFFIX",  "",  M_DEFAULT, &Grp_suff    );
  694. XX     _set_string_var("PREP",         "0", M_DEFAULT, &Prep        );
  695. XX     _set_string_var("AUGMAKE",NIL(char), M_DEFAULT, &Augmake     );
  696. X-    _set_string_var(".SETDIR",      "",  M_DEFAULT, &Start_dir   );
  697. XX     _set_string_var(".KEEP_STATE",  "",  M_DEFAULT, &Keep_state  );
  698. XX  
  699. X!    _set_string_var("MAKEDIR", Get_current_dir(), M_PRECIOUS|M_NOEXPORT,
  700. X!          &Makedir);
  701. XX     _set_string_var("PWD",  Makedir,  M_DEFAULT|M_NOEXPORT, &Pwd);
  702. XX     _set_string_var("TMD",  "",       M_DEFAULT|M_NOEXPORT, &Tmd);
  703. XX  
  704. X--- 97,107 ----
  705. XX     _set_string_var("GROUPSUFFIX",  "",  M_DEFAULT, &Grp_suff    );
  706. XX     _set_string_var("PREP",         "0", M_DEFAULT, &Prep        );
  707. XX     _set_string_var("AUGMAKE",NIL(char), M_DEFAULT, &Augmake     );
  708. XX     _set_string_var(".KEEP_STATE",  "",  M_DEFAULT, &Keep_state  );
  709. X+    _set_string_var(".NOTABS",      "",  M_MULTI,   &Notabs      );
  710. XX  
  711. X!    _set_string_var(".SETDIR", "", M_DEFAULT|M_NOEXPORT, &Start_dir );
  712. X!    _set_string_var("MAKEDIR",Get_current_dir(),M_PRECIOUS|M_NOEXPORT,&Makedir);
  713. XX     _set_string_var("PWD",  Makedir,  M_DEFAULT|M_NOEXPORT, &Pwd);
  714. XX     _set_string_var("TMD",  "",       M_DEFAULT|M_NOEXPORT, &Tmd);
  715. XX  
  716. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/function.c    Mon May  6 15:23:14 1991
  717. X--- function.c    Tue Jun 25 16:23:53 1991
  718. X***************
  719. X*** 1,4 ****
  720. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/function.c,v 1.1 91/05/06 15:23:14 dvadura Exp $
  721. XX  -- SYNOPSIS -- GNU style functions for dmake.
  722. XX  -- 
  723. XX  -- DESCRIPTION
  724. X--- 1,4 ----
  725. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/function.c,v 1.2 91/06/25 16:23:13 dvadura Exp $
  726. XX  -- SYNOPSIS -- GNU style functions for dmake.
  727. XX  -- 
  728. XX  -- DESCRIPTION
  729. X***************
  730. X*** 29,34 ****
  731. X--- 29,38 ----
  732. XX  --
  733. XX  -- LOG
  734. XX  --     $Log:    function.c,v $
  735. X+  * Revision 1.2  91/06/25  16:23:13  dvadura
  736. X+  * Fixed nesting of $(shell ...) macro, and made sure -n,-v are turned
  737. X+  * off during expansion of $(shell ...).
  738. X+  * 
  739. XX   * Revision 1.1  91/05/06  15:23:14  dvadura
  740. XX   * dmake Release Version 3.7
  741. XX   * 
  742. X***************
  743. X*** 262,275 ****
  744. XX  char *data;
  745. XX  {
  746. XX     extern char *tempnam();
  747. X!    int wait  = Wait_for_completion;
  748. X!    char *res = NIL(char);
  749. X!    int free_buf = FALSE;
  750. X!    char *buffer;
  751. X!    int out;
  752. X!    int err;
  753. X!    FILE *tmp;
  754. X!    char *tmpnm;
  755. XX     CELL cell;
  756. XX     STRING rcp;
  757. XX     HASH   cname;
  758. X--- 266,282 ----
  759. XX  char *data;
  760. XX  {
  761. XX     extern char *tempnam();
  762. X!    static int  nestlevel = 0;
  763. X!    static int  org_out;
  764. X!    static int  bsize;
  765. X!    static char *buffer;
  766. X!    static char *tmpnm;
  767. X!    static FILE *tmp;
  768. X! 
  769. X!    int wait     = Wait_for_completion;
  770. X!    uint16 vflag = Verbose;
  771. X!    int tflag    = Trace;
  772. X!    char *res    = NIL(char);
  773. XX     CELL cell;
  774. XX     STRING rcp;
  775. XX     HASH   cname;
  776. X***************
  777. X*** 294,327 ****
  778. XX     cell.ce_flag   = F_TARGET|F_RULES;
  779. XX     cell.ce_attr   = A_PHONY|A_SILENT;
  780. XX  
  781. X!    tmpnm = tempnam(NIL(char),"mk");
  782. X!    out = dup( 1 );
  783. X!    if( (tmp = fopen(tmpnm, "w")) == NIL(FILE) )
  784. X!       Open_temp_error( tmpnm, cname.ht_name );
  785. XX  
  786. XX     Wait_for_completion = TRUE;
  787. X!    close( 1 );
  788. X!    dup( fileno(tmp) );
  789. X!    fclose( tmp );
  790. XX     Exec_commands( &cell );
  791. X!    close(1);
  792. X!    dup(out);
  793. X!    close(out);
  794. XX  
  795. XX     /* Now we have to read the temporary file, get the tokens and return them
  796. XX      * as a string. */
  797. X!    if( (tmp = fopen(tmpnm, "r")) == NIL(FILE) )
  798. X!       Open_temp_error( tmpnm, cname.ht_name );
  799. X! 
  800. X!    if( Buffer == NIL(char) ) {
  801. X!       Buffer_size = BUFSIZ-2;
  802. X!       buffer = MALLOC(BUFSIZ-2,char);
  803. X!       free_buf = TRUE;
  804. X!    }
  805. X!    else
  806. X!       buffer = Buffer;
  807. X! 
  808. X!    while( fgets(buffer, Buffer_size, tmp) ) {
  809. XX        char *p = strchr(buffer, '\n');
  810. XX  
  811. XX        if( p == NIL(char) )
  812. X--- 301,334 ----
  813. XX     cell.ce_flag   = F_TARGET|F_RULES;
  814. XX     cell.ce_attr   = A_PHONY|A_SILENT;
  815. XX  
  816. X!    if( nestlevel == 0 ) {
  817. X!       tmpnm   = tempnam(NIL(char),"mk");
  818. X!       org_out = dup(1);
  819. XX  
  820. X+       if( (tmp = fopen(tmpnm, "w+")) == NIL(FILE) )
  821. X+      Open_temp_error( tmpnm, cname.ht_name );
  822. X+ 
  823. X+       close(1);
  824. X+       dup( fileno(tmp) );
  825. X+ 
  826. X+       bsize  = (Buffer_size < BUFSIZ)?BUFSIZ:Buffer_size;
  827. X+       buffer = MALLOC(bsize,char);
  828. X+    }
  829. X+ 
  830. XX     Wait_for_completion = TRUE;
  831. X!    Verbose = V_NONE;
  832. X!    Trace   = FALSE;
  833. X!    nestlevel++;
  834. XX     Exec_commands( &cell );
  835. X!    nestlevel--;
  836. X!    Trace   = tflag;
  837. X!    Verbose = vflag;
  838. X!    Wait_for_completion = wait;
  839. XX  
  840. XX     /* Now we have to read the temporary file, get the tokens and return them
  841. XX      * as a string. */
  842. X!    rewind(tmp);
  843. X!    while( fgets(buffer, bsize, tmp) ) {
  844. XX        char *p = strchr(buffer, '\n');
  845. XX  
  846. XX        if( p == NIL(char) )
  847. X***************
  848. X*** 333,342 ****
  849. XX     }
  850. XX  
  851. XX     fclose(tmp);
  852. X!    unlink(tmpnm);
  853. X!    FREE(tmpnm);
  854. X!    if( free_buf ) FREE(buffer);
  855. XX  
  856. X!    Wait_for_completion = wait;
  857. XX     return(res);
  858. XX  }
  859. X--- 340,360 ----
  860. XX     }
  861. XX  
  862. XX     fclose(tmp);
  863. X!    if( nestlevel == 0 ) {
  864. X!       unlink(tmpnm);
  865. X!       close(1);
  866. X!       dup(org_out);
  867. X!       close(org_out);
  868. X!       FREE(tmpnm);
  869. X!       FREE(buffer);
  870. X!    }
  871. X!    else {
  872. X!       if( (tmp = fopen(tmpnm, "w+")) == NIL(FILE) )
  873. X!      Open_temp_error( tmpnm, cname.ht_name );
  874. XX  
  875. X!       close(1);
  876. X!       dup( fileno(tmp) );
  877. X!    }
  878. X! 
  879. XX     return(res);
  880. XX  }
  881. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/dmake.c    Mon May  6 15:23:07 1991
  882. X--- dmake.c    Tue Jun 25 16:22:10 1991
  883. X***************
  884. X*** 1,4 ****
  885. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/dmake.c,v 1.1 91/05/06 15:23:06 dvadura Exp $
  886. XX  -- SYNOPSIS -- The main program.
  887. XX  -- 
  888. XX  -- DESCRIPTION
  889. X--- 1,4 ----
  890. X! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/dmake.c,v 1.2 91/06/25 16:21:48 dvadura Exp $
  891. XX  -- SYNOPSIS -- The main program.
  892. XX  -- 
  893. XX  -- DESCRIPTION
  894. X***************
  895. X*** 18,23 ****
  896. X--- 18,24 ----
  897. XX  --      options: (can be catenated, ie -irn == -i -r -n)
  898. XX  -- 
  899. XX  --    -A        - enable AUGMAKE special target mapping
  900. X+ --    -B        - enable non-use of TABS to start recipe lines
  901. XX  --    -c        - use non-standard comment scanning
  902. XX  --     -i              - ignore errors
  903. XX  --     -n              - trace and print, do not execute commands
  904. X***************
  905. X*** 71,76 ****
  906. X--- 72,80 ----
  907. XX  --
  908. XX  -- LOG
  909. XX  --     $Log:    dmake.c,v $
  910. X+  * Revision 1.2  91/06/25  16:21:48  dvadura
  911. X+  * Added -B switch, and fixed NULL poiner bug for -x flag.
  912. X+  * 
  913. XX   * Revision 1.1  91/05/06  15:23:06  dvadura
  914. XX   * dmake Release Version 3.7
  915. XX   * 
  916. X***************
  917. X*** 207,212 ****
  918. X--- 211,217 ----
  919. XX  
  920. XX          case 'V': Version();  Quit(NIL(CELL));  break;
  921. XX          case 'A': Def_macro("AUGMAKE", "y", M_EXPANDED); break;
  922. X+         case 'B': Def_macro(".NOTABS", "y", M_EXPANDED); break;
  923. XX          case 'i': Def_macro(".IGNORE", "y", M_EXPANDED); break;
  924. XX          case 's': Def_macro(".SILENT", "y", M_EXPANDED); break;
  925. XX          case 'S': Def_macro(".SEQUENTIAL", "y", M_EXPANDED); break;
  926. X***************
  927. X*** 362,370 ****
  928. XX  
  929. XX        for( i=0; i<HASH_TABLE_SIZE; ++i ) {
  930. XX       HASHPTR hp = Macs[i];
  931. X!          char *tmpstr = hp->ht_value;
  932. XX  
  933. X!          if(    tmpstr != NIL(char)
  934. XX               && !(hp->ht_flag & M_NOEXPORT)
  935. XX           && Write_env_string(hp->ht_name, tmpstr) != 0 )
  936. XX              Warning( "Could not export %s", hp->ht_name );
  937. X--- 367,376 ----
  938. XX  
  939. XX        for( i=0; i<HASH_TABLE_SIZE; ++i ) {
  940. XX       HASHPTR hp = Macs[i];
  941. X!      char *tmpstr;
  942. XX  
  943. X!          if(    hp
  944. X!          && (tmpstr=hp->ht_value) != NIL(char)
  945. XX               && !(hp->ht_flag & M_NOEXPORT)
  946. XX           && Write_env_string(hp->ht_name, tmpstr) != 0 )
  947. XX              Warning( "Could not export %s", hp->ht_name );
  948. X***************
  949. X*** 702,707 ****
  950. X--- 708,714 ----
  951. XX  
  952. XX     puts("Options: (can be catenated, ie -irn == -i -r -n)");
  953. XX     puts("    -A   - enable AUGMAKE special target mapping");
  954. X+    puts("    -B   - enable the use of spaces instead of tabs to start recipes");
  955. XX     puts("    -c   - use non standard comment scanning");
  956. XX     puts("    -e   - define environment strings as macros");
  957. XX     puts("    -E   - same as -e but done after parsing makefile");
  958. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/db.h    Mon May  6 15:23:06 1991
  959. X--- db.h    Mon Jun 24 11:22:53 1991
  960. X***************
  961. X*** 52,58 ****
  962. XX  #  define DB_PUSH(a1)                 DBUG_PUSH(a1)
  963. XX  #  define DB_POP()                    DBUG_POP()
  964. XX  #  define DB_PROCESS(a1)              DBUG_PROCESS(a1)
  965. X! #  define DB_FILE (stderr)            DBUG_FILE(stderr)
  966. XX  #  define DB_SETJMP                   DBUG_SETJMP
  967. XX  #  define DB_LONGJMP                  DBUG_LONGJMP
  968. XX  
  969. X--- 52,58 ----
  970. XX  #  define DB_PUSH(a1)                 DBUG_PUSH(a1)
  971. XX  #  define DB_POP()                    DBUG_POP()
  972. XX  #  define DB_PROCESS(a1)              DBUG_PROCESS(a1)
  973. X! #  define DB_FILE(file)               DBUG_FILE(file)
  974. XX  #  define DB_SETJMP                   DBUG_SETJMP
  975. XX  #  define DB_LONGJMP                  DBUG_LONGJMP
  976. XX  
  977. X***************
  978. X*** 66,72 ****
  979. XX  #  define DB_PUSH(a1)
  980. XX  #  define DB_POP()
  981. XX  #  define DB_PROCESS(a1)
  982. X! #  define DB_FILE(stderr)
  983. XX  #  define DB_SETJMP                   setjmp
  984. XX  #  define DB_LONGJMP                  longjmp
  985. XX  
  986. X--- 66,72 ----
  987. XX  #  define DB_PUSH(a1)
  988. XX  #  define DB_POP()
  989. XX  #  define DB_PROCESS(a1)
  990. X! #  define DB_FILE(file)
  991. XX  #  define DB_SETJMP                   setjmp
  992. XX  #  define DB_LONGJMP                  longjmp
  993. XX  
  994. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/alloc.h    Mon May  6 15:23:03 1991
  995. X--- alloc.h    Mon Jun 24 11:22:50 1991
  996. X***************
  997. X*** 48,53 ****
  998. X--- 48,54 ----
  999. XX  #else
  1000. XX  #   if !defined(_TYPES_) && !defined(M_XENIX) && !defined(atarist) && !defined(_SIZE_T)
  1001. XX  #      if defined(MSDOS) || defined(__MSDOS__)
  1002. X+ #         undef size_t
  1003. XX            typedef unsigned size_t;
  1004. XX  #      else
  1005. XX            typedef long size_t;
  1006. X*** /u2/dvadura/src/generic/dmake/dmake37-p1/_install    Fri Jun 28 08:22:22 1991
  1007. X--- _install    Mon Jun 24 10:22:56 1991
  1008. X***************
  1009. X*** 52,58 ****
  1010. XX    --------------------    mscdos    -------------------
  1011. XX    |         |        |              |       |         |
  1012. XX  386ix     bsd43  sysvr[134]      tccdos   bccdos   mscdos  [source for OSRELEASE
  1013. X!         |                                specific functions]
  1014. XX      --------
  1015. XX      |      |
  1016. XX         uw      vf   [source for OSENVIRONMENT specific functions]
  1017. X--- 52,58 ----
  1018. XX    --------------------    mscdos    -------------------
  1019. XX    |         |        |              |       |         |
  1020. XX  386ix     bsd43  sysvr[134]      tccdos   bccdos   mscdos  [source for OSRELEASE
  1021. X!         |                                      specific functions] 
  1022. XX      --------
  1023. XX      |      |
  1024. XX         uw      vf   [source for OSENVIRONMENT specific functions]
  1025. X***************
  1026. X*** 60,66 ****
  1027. XX  
  1028. XX  Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source
  1029. XX  that is specific to that release of the OS (and possibly C-library)
  1030. X! To make the apropriate versions of dmake, simply type the command
  1031. XX  
  1032. XX      'make system'
  1033. XX  
  1034. X--- 60,66 ----
  1035. XX  
  1036. XX  Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source
  1037. XX  that is specific to that release of the OS (and possibly C-library)
  1038. X! To make the appropriate versions of dmake, simply type the command
  1039. XX  
  1040. XX      'make system'
  1041. XX  
  1042. X***************
  1043. X*** 81,90 ****
  1044. XX      information.)
  1045. XX  
  1046. XX  The making of dmake, echoes the commands being executed, and should proceed
  1047. X! relatively error free.  Ignore any warnings that are produced by the
  1048. X! compile.  They have been verified and are ok.
  1049. XX  
  1050. XX  
  1051. XX  STARTUP FILE
  1052. XX  
  1053. XX  dmake requires the loading of a startup file when it is first invoked.  The
  1054. X--- 81,111 ----
  1055. XX      information.)
  1056. XX  
  1057. XX  The making of dmake, echoes the commands being executed, and should proceed
  1058. X! relatively error free.  Ignore ANY warnings produced by the compile
  1059. X! They have all be verified and are spurious noise.
  1060. XX  
  1061. X+ UNIX SYSV R3 AND GETCWD
  1062. XX  
  1063. X+ Some versions of UNIX SysV R3 and Xenix use the popen call to capture the
  1064. X+ output of pwd when invoking the C library function getcwd().  These versions
  1065. X+ of the function cause dmake to terminate with the "lost a child" message
  1066. X+ due to the fact that the parent dmake process may catch the pwd and not
  1067. X+ recognize it as a child.  For systems that have this problem use the version
  1068. X+ of dmake that supplies its own getcwd function.  The settings are:
  1069. X+ 
  1070. X+    OS = unix
  1071. X+    OSRELEASE = sysvr3
  1072. X+    OSENVIRONMENT = pwd
  1073. X+ 
  1074. X+ It is directly available through the 'makefile' by typing one of:
  1075. X+ 
  1076. X+    make sysvr3pwd
  1077. X+    make xenixpwd
  1078. X+ 
  1079. X+ both include the getcwd code but the xenixpwd target compiles for a Xenix
  1080. X+ system.
  1081. X+ 
  1082. X+ 
  1083. XX  STARTUP FILE
  1084. XX  
  1085. XX  dmake requires the loading of a startup file when it is first invoked.  The
  1086. X***************
  1087. X*** 92,99 ****
  1088. XX  and msdos directories.  You may override the value of the path variable
  1089. XX  compiled-in by creating a file at the root source directory called startup.h
  1090. XX  and inserting into that file a definition that is like the definition found
  1091. X! in the supplied startup.h files.  If the local startup.h file does not
  1092. X! work then you will have to edit the startup.h in the appropriate directory.
  1093. XX  
  1094. XX  
  1095. XX  INSTALLATION
  1096. X--- 113,120 ----
  1097. XX  and msdos directories.  You may override the value of the path variable
  1098. XX  compiled-in by creating a file at the root source directory called startup.h
  1099. XX  and inserting into that file a definition that is like the definition found
  1100. X! in the supplied startup.h files.  Alternatively you can modify the MAKESTARTUP
  1101. X! environment variable to point at the location of your startup.mk file.
  1102. XX  
  1103. XX  
  1104. XX  INSTALLATION
  1105. XSHAR_EOF
  1106. Xchmod 0640 _patches ||
  1107. Xecho 'restore of _patches failed'
  1108. XWc_c="`wc -c < '_patches'`"
  1109. Xtest 88895 -eq "$Wc_c" ||
  1110. X    echo '_patches: original size 88895, current size' "$Wc_c"
  1111. Xfi
  1112. X
  1113. X# Now run patch to fix up the files
  1114. Xpatch -p0 < _patches
  1115. Xexit 0
  1116. SHAR_EOF
  1117. echo 'File dm37p2 is complete' &&
  1118. chmod 0640 dm37p2 ||
  1119. echo 'restore of dm37p2 failed'
  1120. Wc_c="`wc -c < 'dm37p2'`"
  1121. test 404337 -eq "$Wc_c" ||
  1122.     echo 'dm37p2: original size 404337, current size' "$Wc_c"
  1123. rm -f _shar_wnt_.tmp
  1124. fi
  1125. rm -f _shar_seq_.tmp
  1126. echo You have unpacked the last part
  1127. exit 0
  1128.  
  1129. exit 0 # Just in case...
  1130. -- 
  1131. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  1132. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  1133. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  1134. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  1135.