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 >
Wrap
Makefile
|
1993-03-03
|
6KB
|
186 lines
#
# File: makefile
#
# (C)opyright 1987-1992 InfoTaskforce.
#
OBJECTS = enhanced.o file.o fns.o globals.o infocom.o init.o input.o\
interp.o io.o jump.o message.o object.o options.o\
page.o plus_fns.o print.o property.o status.o\
support.o variable.o
#
# Compile options are described below:
#
# ANSI_ESCAPE : Compile a version that uses ANSI ESCAPE sequences for
# terminal output.
# ANSI_COLOR : Compile a version that uses ANSI ESCAPE sequences with
# color handling for terminal output.
# (Works under both MS-DOS and UNIX!)
# BSD : Compile on a BSD UNIX machine. (This also defines "UNIX")
# CHEAT : Include the routines for spying on Object movement.
# CURSES : Compile a version that uses curses features for
# terminal output. You may also have to include a
# curses library as well.
# CURSES_COLOR : Compile a version that uses the color capabilities of
# UNIX System V R3 curses features for terminal output.
# DEBUG : Compile a debug version of the interpreter. Compare
# output produced with this option against a working
# debug version when you suspect problems in the
# virtual machine [ this commonly produces error 21 ].
# LSC : Compile on a Macintosh using LightSpeed C Version 2.01.
# MSC : Compile on an MS-DOS machine using Microsoft C.
# MSDOS : Compile on an MS-DOS machine.
# SYS_V : Compile on a UNIX System V machine. (This also defines "UNIX")
# TERMCAP : Compile a version that uses termcap features for
# terminal output. You may also have to include a
# termcap library as well.
# THINKC : Compile on a Macintosh using THINK C Version 4.0.
# TURBOC : Compile on an MS-DOS machine using Borland C or Turbo C.
# UNIX : Compile on a UNIX machine.
#
#
# Uncomment the following lines for compiling with Turbo C or
# Borland C under MS-DOS.
#
#.SUFFIXES: .exe .o .c
#
#CC = bcc
#CFLAGS = -DTURBOC -m$(MODEL) -G -O -Z
#MODEL = c
#TC_DIR = c:\bc
#TC_BIN = $(TC_DIR)\bin
#
#.c.o:
# $(TC_BIN)\$(CC) $(CFLAGS) -c -o$@ $*.c
#
#turboc: $(OBJECTS) infocom.rc
# echo $(TC_DIR)\lib\c0$(MODEL).obj + > info.cmd
# echo enhanced.o file.o fns.o globals.o infocom.o init.o + >> info.cmd
# echo input.o interp.o io.o jump.o message.o object.o + >> info.cmd
# echo options.o page.o plus_fns.o print.o property.o + >> info.cmd
# echo status.o support.o variable.o + >> info.cmd
# echo ,infocom.exe,nul.map,$(TC_DIR)\lib\c$(MODEL).lib >> info.cmd
# $(TC_BIN)\tlink @info.cmd
# -rm info.cmd
#
infocom.rc: makefile
@echo # Default initialization file for MS-DOS machines > $@
@echo # This overrides the number of screen rows automagically determined >> $@
@echo # height 25 >> $@
@echo # This overrides the number of screen columns automagically determined >> $@
@echo # width 80 >> $@
@echo # Attributes are specified in this order: >> $@
@echo # normal, inverse, bold, inverse&bold, underline, inverse&underline, >> $@
@echo # bold&underline, inverse&bold&underline >> $@
@echo # The following attributes may be specified: >> $@
@echo # normal, high, low, italic, underline, blink, fastblink, reverse >> $@
@echo # f_black, f_red, f_green, f_yellow, f_blue, f_magenta, f_cyan, f_white >> $@
@echo # b_black, b_red, b_green, b_yellow, b_blue, b_magenta, b_cyan, b_white >> $@
@echo # Not all attributes may be supported >> $@
@echo attr b_blue f_white >> $@
@echo attr b_white f_blue >> $@
@echo attr b_blue f_white high >> $@
@echo attr b_white f_white high >> $@
@echo attr b_blue f_red blink >> $@
@echo attr b_white f_red >> $@
@echo attr b_blue f_red high >> $@
@echo attr b_white f_red high >> $@
.infocomrc: makefile
@echo '# Default initialization file for UNIX machines' > $@
@echo '# This overrides the number of screen rows' >> $@
@echo '# height 25' >> $@
@echo '# This overrides the number of screen columns' >> $@
@echo '# width 80' >> $@
@echo '# This allows use of ANSI save/restore cursor features' >> $@
@echo '# save' >> $@
@echo '# Attributes are specified in this order:' >> $@
@echo '# normal, inverse, bold, inverse&bold, underline, inverse&underline,' >> $@
@echo '# bold&underline, inverse&bold&underline' >> $@
@echo '# The following attributes may be specified:' >> $@
@echo '# normal, high, low, italic, underline, blink, fastblink, reverse' >> $@
@echo '# f_black, f_red, f_green, f_yellow, f_blue, f_magenta, f_cyan, f_white' >> $@
@echo '# b_black, b_red, b_green, b_yellow, b_blue, b_magenta, b_cyan, b_white' >> $@
@echo '# Not all attributes may be supported' >> $@
@echo 'attr b_blue f_white' >> $@
@echo 'attr b_white f_blue' >> $@
@echo 'attr b_blue f_white high' >> $@
@echo 'attr b_white f_white high' >> $@
@echo 'attr b_blue f_red blink' >> $@
@echo 'attr b_white f_red' >> $@
@echo 'attr b_blue f_red high' >> $@
@echo 'attr b_white f_red high' >> $@
#
# For MSDOS Compilers, use either the Compact, Large or Huge Memory
# Models ( these all use far data pointers ) because Standard Library
# Functions such as "fread ()" are passed a buffer as a huge pointer.
# Tiny, Small and Medium Models only allow near pointers in Standard
# Library Function Parameters.
#
# Uncomment the following lines for compiling with Microsoft C.
#
#.SUFFIXES: .exe .o .c
#
#CC = cl
#
#.c.o:
# $(CC) $(CFLAGS) -DMSC -Fo$*.o -c $*.c
#
qc:
make "CFLAGS=-AC -qc" "LIBS=graphics.lib" _msdos
msc:
make "CFLAGS=-AC -Ozax" "LIBS=graphics.lib" _msdos
_msdos: $(OBJECTS) infocom.rc
link $(OBJECTS),infocom.exe,,$(LIBS);
CC=gcc
OPTFLAG=-O
bsd_ansi:
make CFLAGS='$(OPTFLAG) -DBSD -DANSI_ESCAPE' unix
bsd_ansic:
make CFLAGS='$(OPTFLAG) -DBSD -DANSI_COLOR' unix
bsd_curses:
make CFLAGS='$(OPTFLAG) -DBSD -DCURSES' LDFLAGS='-lcurses -ltermcap' unix
bsd:
make CFLAGS='$(OPTFLAG) -DBSD -DTERMCAP' LDFLAGS='-ltermcap' unix
sysv_ansi:
make CFLAGS='$(OPTFLAG) -DSYS_V -DANSI_ESCAPE' unix
sysv_ansic:
make CFLAGS='$(OPTFLAG) -DSYS_V -DANSI_COLOR' unix
sysv_curses:
make CFLAGS='$(OPTFLAG) -DSYS_V -DCURSES' LDFLAGS='-lcurses' unix
sysv_cursesc:
make CFLAGS='$(OPTFLAG) -DSYS_V -DCURSES_COLOR' LDFLAGS='-lcurses' unix
sysv_termcap:
make CFLAGS='$(OPTFLAG) -DSYS_V -DTERMCAP' LDFLAGS='-ltermlib' unix
sysv:
make CFLAGS='$(OPTFLAG) -DSYS_V -DTERMINFO' LDFLAGS='-lcurses' unix
unix: $(OBJECTS)
$(CC) $(OPTFLAG) -o infocom $(OBJECTS) $(LDFLAGS)
$(OBJECTS): infocom.h machine.h makefile
clean:
-rm *.o
-rm .infocomrc
-rm infocom.rc
-rm infocom