home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / historic / v941.tgz / icon.v941src.tar / icon.v941src / config / winnt / msvc / makefile.t < prev    next >
Makefile  |  2000-08-17  |  5KB  |  159 lines

  1. DCONSOLE=dconsole.obj
  2. OS=NT
  3. ENV=WIN32
  4. CPU=i386
  5. !include <$(OS)$(ENV).mak>
  6.  
  7. CC=cl
  8. LD=link
  9. # /Ox for maximum optimzation, /Zi for debugging...
  10. CFLAGS= /D_X86_ /DWIN32 /Ox /D$(CONSOLE)
  11. HFLAGS=
  12. LDFLAGS=
  13. LIBS=
  14. SHELL=/bin/sh
  15. MAKE=nmake
  16. O=obj
  17.  
  18. TRANS=          trans.$(O) tcode.$(O) tlex.$(O) lnklist.$(O) tparse.$(O) tsym.$(O) tmem.$(O) tree.$(O)
  19.  
  20. LINKR=          link.$(O) lglob.$(O) lcode.$(O) llex.$(O) lmem.$(O) lsym.$(O) opcode.$(O)
  21.  
  22. OBJS=           tmain.$(O) util.$(O) tlocal.$(O) $(TRANS) $(LINKR)
  23.  
  24. COBJS=          ../common/long.$(O) ../common/getopt.$(O) ../common/alloc.$(O)\
  25.            ../common/filepart.$(O) ../common/strtbl.$(O)\
  26.         ../common/ipp.$(O)
  27.  
  28. ICOBJS=         long.$(O) getopt.$(O) alloc.$(O) filepart.$(O) strtbl.$(O) ipp.$(O)
  29.  
  30. WOBJS=    ../wincap/file.obj ../wincap/errors.obj ../wincap/dibutil.obj\
  31.     ../wincap/copy.obj ..\runtime\xrwindow.obj ..\runtime\xrwinsys.obj \
  32.     ../runtime/xrwinrsc.obj ../common/dconsole.obj
  33.  
  34. all:            $(ICONT)
  35.  
  36. nticont:
  37.         del tmain.obj
  38.         del link.obj
  39.         nmake nticont2 CONSOLE=NTConsole DCONSOLE=
  40.  
  41. nticont2:        $(OBJS) common
  42.         link @nticont.lnk
  43.         copy nticont.exe ..\..\bin
  44.  
  45. wicont:
  46.         del tmain.obj
  47.         del link.obj
  48.         nmake wicont2
  49.  
  50. # add $(linkdebug) after $(link) for debugging
  51.  
  52. wicont2: $(OBJS) common
  53.         $(link) $(guiflags) $(OBJS) $(COBJS) $(WOBJS) winmm.lib $(guilibs) -out:wicont.exe
  54.         copy wicont.exe ..\..\bin
  55.  
  56. wicont16: $(OBJS) common
  57.         $(CC) $(CFLAGS) -c tmain.c
  58.         link @wicont16.lnk
  59.         copy wicont.exe ..\..\bin
  60.  
  61. linkit:
  62.         $(link) $(linkdebug) $(guiflags) $(OBJS) $(COBJS) $(WOBJS) $(guilibs) -out:wicont.exe
  63.         copy wicont.exe ..\..\bin
  64.  
  65. common:
  66.         cd ..\common
  67.         $(MAKE) winobjs CONSOLE=$(CONSOLE) DCONSOLE=$(DCONSOLE)
  68.         cd ..\icont
  69.  
  70. $(OBJS) ixhdr.$(O):   ../h/define.h ../h/config.h ../h/cpuconf.h ../h/gsupport.h \
  71.            ../h/proto.h ../h/mproto.h ../h/dproto.h \
  72.            ../h/typedefs.h ../h/cstructs.h tproto.h
  73.  
  74. $(COBJS):       ../h/mproto.h
  75.  
  76. tmain.$(O):     tglobals.h ../h/path.h
  77. util.$(O):              tglobals.h tree.h ../h/fdefs.h
  78.  
  79. # translator files
  80. trans.$(O):     tglobals.h tsym.h ttoken.h tree.h ../h/version.h ../h/kdefs.h
  81. lnklist.$(O):   lfile.h
  82. tparse.$(O):    ../h/lexdef.h tglobals.h tsym.h tree.h keyword.h
  83. tcode.$(O):     tglobals.h tsym.h ttoken.h tree.h
  84. tlex.$(O):              ../h/lexdef.h ../h/parserr.h ttoken.h tree.h ../h/esctab.h \
  85.            ../common/lextab.h ../common/yylex.h ../common/error.h
  86. tmem.$(O):              tglobals.h tsym.h tree.h
  87. tree.$(O):              tree.h
  88. tsym.$(O):              tglobals.h tsym.h ttoken.h lfile.h keyword.h ../h/kdefs.h
  89.  
  90. # linker files
  91. $(LINKR):       link.h lfile.h ../h/rt.h ../h/sys.h ../h/monitor.h \
  92.            ../h/rstructs.h ../h/rmacros.h ../h/rexterns.h
  93.  
  94. # link.$(O):            tglobals.h ../h/header.h hdr.h
  95. link.$(O):              tglobals.h ../h/header.h
  96. lcode.$(O):     tglobals.h opcode.h keyword.h ../h/header.h \
  97.             ../h/opdefs.h ../h/version.h
  98. lglob.$(O):     opcode.h ../h/opdefs.h ../h/version.h
  99. llex.$(O):              tglobals.h opcode.h ../h/opdefs.h
  100. lmem.$(O):              tglobals.h
  101. lsym.$(O):              tglobals.h
  102. opcode.$(O):    opcode.h ../h/opdefs.h
  103.  
  104.  
  105. ixhdr.exe:      ixhdr.$(O)
  106.         link32 @ixhdr.lnk
  107.         copy ixhdr.exe ..\..\bin
  108.  
  109. #nticont: nticont.exe
  110.         
  111. #nticont.exe:   nticont.obj
  112. #               link32 -subsystem:console nticont.obj libc.lib kernel32.lib ntdll.lib user32.lib gdi32.lib winspool.lib comdlg32.lib VERSION.LIB -out:nticont.exe
  113.  
  114. # header file for executables
  115. iconx.hdr:      ixhdr.$(O)
  116.         $(CC) $(LDFLAGS) $(CFLAGS) $(HFLAGS) ixhdr.$(O) \
  117.             -o iconx.hdr $(LIBS)
  118.         strip iconx.hdr
  119. ixhdr.$(O):     ../h/path.h ../h/header.h
  120.         $(CC) -O -c ixhdr.c
  121.  
  122.  
  123.  
  124. #  The following sections are commented out because they do not need to be
  125. #  performed unless changes are made to cgrammar.c, ../h/grammar.h,
  126. #  ../common/tokens.txt, or ../common/op.txt.  Such changes involve
  127. #  modifications to the syntax of Icon and are not part of the installation
  128. #  process. However, if the distribution files are unloaded in a fashion
  129. #  such that their dates are not set properly, the following sections would
  130. #  be attempted.
  131. #
  132. #  Note that if any changes are made to the files mentioned above, the comment
  133. #  characters at the beginning of the following lines should be removed.
  134. #  icont must be on your search path for these actions to work.
  135. #
  136. #../common/lextab.h ../common/yacctok.h ../common/fixgram ../common/pscript: \
  137. #                       ../common/tokens.txt ../common/op.txt
  138. #               cd ../common; make gfiles
  139. #
  140. #tparse.c ttoken.h:     tgram.g trash ../common/pscript
  141. ## expect 218 shift/reduce conflicts
  142. #               yacc -d tgram.g
  143. #               ./trash <y.tab.c | ../common/pscript >tparse.c
  144. #               mv y.tab.h ttoken.h
  145. #               rm -f y.tab.c
  146. #
  147. #tgram.g:       tgrammar.c ../h/define.h ../h/grammar.h \
  148. #                       ../common/yacctok.h ../common/fixgram 
  149. #               $(CC) -E -C tgrammar.c | ../common/fixgram >tgram.g
  150. #
  151. #../h/kdefs.h keyword.h:        ../runtime/keyword.r mkkwd
  152. #               ./mkkwd <../runtime/keyword.r
  153. #
  154. #trash:         trash.icn
  155. #               icont -s trash.icn
  156. #
  157. #mkkwd:         mkkwd.icn
  158. #               icont -s mkkwd.icn
  159.