home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / GAMES / infocom_src.lha / makefile.org < prev    next >
Makefile  |  1993-03-03  |  6KB  |  186 lines

  1. #
  2. #    File:    makefile
  3. #
  4. #    (C)opyright 1987-1992 InfoTaskforce.
  5. #
  6.  
  7. OBJECTS =    enhanced.o file.o fns.o globals.o infocom.o init.o input.o\
  8.             interp.o io.o jump.o message.o object.o options.o\
  9.             page.o plus_fns.o print.o property.o status.o\
  10.             support.o variable.o
  11.  
  12. #
  13. # Compile options are described below:
  14. #
  15. # ANSI_ESCAPE    : Compile a version that uses ANSI ESCAPE sequences for
  16. #                  terminal output.
  17. # ANSI_COLOR    : Compile a version that uses ANSI ESCAPE sequences with
  18. #                  color handling for terminal output.
  19. #                  (Works under both MS-DOS and UNIX!)
  20. # BSD            : Compile on a BSD UNIX machine. (This also defines "UNIX")
  21. # CHEAT            : Include the routines for spying on Object movement.
  22. # CURSES        : Compile a version that uses curses features for
  23. #                  terminal output. You may also have to include a
  24. #                  curses library as well.
  25. # CURSES_COLOR    : Compile a version that uses the color capabilities of
  26. #                  UNIX System V R3 curses features for terminal output.
  27. # DEBUG            : Compile a debug version of the interpreter. Compare
  28. #                  output produced with this option against a working
  29. #                  debug version when you suspect problems in the
  30. #                  virtual machine [ this commonly produces error 21 ].
  31. # LSC            : Compile on a Macintosh using LightSpeed C Version 2.01.
  32. # MSC            : Compile on an MS-DOS machine using Microsoft C.
  33. # MSDOS            : Compile on an MS-DOS machine.
  34. # SYS_V            : Compile on a UNIX System V machine. (This also defines "UNIX")
  35. # TERMCAP        : Compile a version that uses termcap features for
  36. #                  terminal output. You may also have to include a
  37. #                  termcap library as well.
  38. # THINKC        : Compile on a Macintosh using THINK C Version 4.0.
  39. # TURBOC        : Compile on an MS-DOS machine using Borland C or Turbo C.
  40. # UNIX            : Compile on a UNIX machine.
  41. #
  42.  
  43. #
  44. #    Uncomment the following lines for compiling with Turbo C or
  45. #    Borland C under MS-DOS.
  46. #
  47. #.SUFFIXES:    .exe .o .c
  48. #
  49. #CC =        bcc
  50. #CFLAGS =    -DTURBOC -m$(MODEL) -G -O -Z
  51. #MODEL =    c
  52. #TC_DIR =    c:\bc
  53. #TC_BIN =    $(TC_DIR)\bin
  54. #
  55. #.c.o:
  56. #    $(TC_BIN)\$(CC) $(CFLAGS) -c -o$@ $*.c
  57. #
  58. #turboc:    $(OBJECTS) infocom.rc
  59. #    echo $(TC_DIR)\lib\c0$(MODEL).obj + > info.cmd
  60. #    echo enhanced.o file.o fns.o globals.o infocom.o init.o + >> info.cmd
  61. #    echo input.o interp.o io.o jump.o message.o object.o + >> info.cmd
  62. #    echo options.o page.o plus_fns.o print.o property.o + >> info.cmd
  63. #    echo status.o support.o variable.o + >> info.cmd
  64. #    echo ,infocom.exe,nul.map,$(TC_DIR)\lib\c$(MODEL).lib >> info.cmd
  65. #    $(TC_BIN)\tlink @info.cmd
  66. #    -rm info.cmd
  67. #
  68.  
  69. infocom.rc:        makefile
  70.     @echo # Default initialization file for MS-DOS machines > $@
  71.     @echo # This overrides the number of screen rows automagically determined >> $@
  72.     @echo # height 25 >> $@
  73.     @echo # This overrides the number of screen columns automagically determined >> $@
  74.     @echo # width 80 >> $@
  75.     @echo # Attributes are specified in this order: >> $@
  76.     @echo # normal, inverse, bold, inverse&bold, underline, inverse&underline, >> $@
  77.     @echo # bold&underline, inverse&bold&underline >> $@
  78.     @echo # The following attributes may be specified: >> $@
  79.     @echo # normal, high, low, italic, underline, blink, fastblink, reverse >> $@
  80.     @echo # f_black, f_red, f_green, f_yellow, f_blue, f_magenta, f_cyan, f_white >> $@
  81.     @echo # b_black, b_red, b_green, b_yellow, b_blue, b_magenta, b_cyan, b_white >> $@
  82.     @echo # Not all attributes may be supported >> $@
  83.     @echo attr b_blue f_white >> $@
  84.     @echo attr b_white f_blue >> $@
  85.     @echo attr b_blue f_white high >> $@
  86.     @echo attr b_white f_white high >> $@
  87.     @echo attr b_blue f_red blink >> $@
  88.     @echo attr b_white f_red >> $@
  89.     @echo attr b_blue f_red high >> $@
  90.     @echo attr b_white f_red high >> $@
  91.  
  92. .infocomrc:        makefile
  93.     @echo '# Default initialization file for UNIX machines' > $@
  94.     @echo '# This overrides the number of screen rows' >> $@
  95.     @echo '# height 25' >> $@
  96.     @echo '# This overrides the number of screen columns' >> $@
  97.     @echo '# width 80' >> $@
  98.     @echo '# This allows use of ANSI save/restore cursor features' >> $@
  99.     @echo '# save' >> $@
  100.     @echo '# Attributes are specified in this order:' >> $@
  101.     @echo '# normal, inverse, bold, inverse&bold, underline, inverse&underline,' >> $@
  102.     @echo '# bold&underline, inverse&bold&underline' >> $@
  103.     @echo '# The following attributes may be specified:' >> $@
  104.     @echo '# normal, high, low, italic, underline, blink, fastblink, reverse' >> $@
  105.     @echo '# f_black, f_red, f_green, f_yellow, f_blue, f_magenta, f_cyan, f_white' >> $@
  106.     @echo '# b_black, b_red, b_green, b_yellow, b_blue, b_magenta, b_cyan, b_white' >> $@
  107.     @echo '# Not all attributes may be supported' >> $@
  108.     @echo 'attr b_blue f_white' >> $@
  109.     @echo 'attr b_white f_blue' >> $@
  110.     @echo 'attr b_blue f_white high' >> $@
  111.     @echo 'attr b_white f_white high' >> $@
  112.     @echo 'attr b_blue f_red blink' >> $@
  113.     @echo 'attr b_white f_red' >> $@
  114.     @echo 'attr b_blue f_red high' >> $@
  115.     @echo 'attr b_white f_red high' >> $@
  116.  
  117. #
  118. #    For MSDOS Compilers, use either the Compact, Large or Huge Memory
  119. #    Models ( these all use far data pointers ) because Standard Library
  120. #    Functions such as "fread ()" are passed a buffer as a huge pointer.
  121. #    Tiny, Small and Medium Models only allow near pointers in Standard
  122. #    Library Function Parameters.
  123. #
  124. #    Uncomment the following lines for compiling with Microsoft C.
  125. #
  126. #.SUFFIXES:    .exe .o .c
  127. #
  128. #CC =        cl
  129. #
  130. #.c.o:
  131. #    $(CC) $(CFLAGS) -DMSC -Fo$*.o -c $*.c
  132. #
  133.  
  134. qc:
  135.     make "CFLAGS=-AC -qc" "LIBS=graphics.lib" _msdos
  136.  
  137. msc:
  138.     make "CFLAGS=-AC -Ozax" "LIBS=graphics.lib" _msdos
  139.  
  140. _msdos: $(OBJECTS) infocom.rc
  141.     link $(OBJECTS),infocom.exe,,$(LIBS);
  142.  
  143. CC=gcc
  144. OPTFLAG=-O
  145.  
  146. bsd_ansi:
  147.     make CFLAGS='$(OPTFLAG) -DBSD -DANSI_ESCAPE' unix
  148.  
  149. bsd_ansic:
  150.     make CFLAGS='$(OPTFLAG) -DBSD -DANSI_COLOR' unix
  151.  
  152. bsd_curses:
  153.     make CFLAGS='$(OPTFLAG) -DBSD -DCURSES' LDFLAGS='-lcurses -ltermcap' unix
  154.  
  155. bsd:
  156.     make CFLAGS='$(OPTFLAG) -DBSD -DTERMCAP' LDFLAGS='-ltermcap' unix
  157.  
  158. sysv_ansi:
  159.     make CFLAGS='$(OPTFLAG) -DSYS_V -DANSI_ESCAPE' unix
  160.  
  161. sysv_ansic:
  162.     make CFLAGS='$(OPTFLAG) -DSYS_V -DANSI_COLOR' unix
  163.  
  164. sysv_curses:
  165.     make CFLAGS='$(OPTFLAG) -DSYS_V -DCURSES' LDFLAGS='-lcurses' unix
  166.  
  167. sysv_cursesc:
  168.     make CFLAGS='$(OPTFLAG) -DSYS_V -DCURSES_COLOR' LDFLAGS='-lcurses' unix
  169.  
  170. sysv_termcap:
  171.     make CFLAGS='$(OPTFLAG) -DSYS_V -DTERMCAP' LDFLAGS='-ltermlib' unix
  172.  
  173. sysv:
  174.     make CFLAGS='$(OPTFLAG) -DSYS_V -DTERMINFO' LDFLAGS='-lcurses' unix
  175.  
  176. unix: $(OBJECTS)
  177.     $(CC) $(OPTFLAG) -o infocom $(OBJECTS) $(LDFLAGS)
  178.  
  179. $(OBJECTS): infocom.h machine.h makefile
  180.  
  181. clean:
  182.         -rm *.o
  183.         -rm .infocomrc
  184.         -rm infocom.rc
  185.         -rm infocom
  186.