# Makefile for the CLISP binaries
# DO NOT EDIT! GENERATED AUTOMATICALLY!
# This file was created on host honolulu as the output of the command:
# ./makemake --with-dir-key --with-export-syscalls --with-dynamic-ffi win32msvc msvc5

# -------------- Start of configurable section --------------------

# Flags that can be set on the nmake command line:
#   MFLAGS={-ML|-MT|-MD} for defining the compilation model
#     MFLAGS=-ML (the default)  Single-threaded, statically linked - libc.lib
#     MFLAGS=-MT                Multi-threaded, statically linked  - libcmt.lib
#     MFLAGS=-MD                Multi-threaded, dynamically linked - msvcrt.lib
!if !defined(MFLAGS)
MFLAGS=
!endif

# Directories used by "make install":
prefix = 
exec_prefix = $(prefix)
bindir = $(exec_prefix)\bin
mandir = $(exec_prefix)\man
htmldir = $(exec_prefix)\share\html
dvidir = $(exec_prefix)\share\dvi
docdir = $(exec_prefix)\doc
lispdocdir = $(docdir)\clisp
libdir = $(exec_prefix)\lib
lisplibdir = $(libdir)\clisp
# The value of following variable is prepended to all the paths for
# installation. This is useful when preparing a binary distribution.
DESTDIR =

# List of add-on modules:
# queens               the queens function as a separate module
# wildcard             wildcard matching
# regexp               Unix-style regular expression matching and searching
# postgresql           PostgreSQL interface
# clx/mit-clx          classical X11 interface
# If you change this after doing "make", you have to "rm -r full; make".
MODULES =  

# Programs used by "make":
CC = cl $(MFLAGS) -G5 -Os -Oy -Ob1 -Gs -Gf -Gy
CFLAGS =  -DUNICODE -DEXPORT_SYSCALLS -DDIR_KEY -DDYNAMIC_FFI -DNO_GETTEXT
CPP = ..\utils\gcc-cccp\cccp -U__GNUC__ -+ -D_MSC_VER=1100 -D_M_IX86=500 -D_WIN32 -D_INTEGRAL_MAX_BITS=64 -DDEBUG_OS_ERROR -I$(MSVCDIR)/include
CLFLAGS = 
LIBS = sigsegv.lib iconv.lib avcall.lib callback.lib  user32.lib wsock32.lib advapi32.lib ole32.lib wldap32.lib -lm
X_LIBS = 
#MSVCDIR = d:/devstudio/vc
#MSVCDIR = c:/msvs/vc98
MSVCDIR = "C:/Program Files/Microsoft Visual Studio/VC98"

MAKE = nmake
RM = del
CP = copy
LN_S = copy
MV = ren
CAT = type
TOUCH = -touch
GREP = grep
AR = ar
RANLIB = ranlib

# Programs used by "make install":
INSTALL = copy
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL)

# Programs used by "make distrib":

# formatter for manual page
ROFF_MAN = groff -Tascii -mandoc # try "groff -Tascii -mandoc" or "nroff -man"
ROFF_DVI = groff -Tdvi -mandoc # try "groff -Tdvi -mandoc"

# -------------- End of configurable section --------------------

#
#                       Requirements for add-on modules
#                       -------------------------------
#
# The general layout of add-on modules is described in ../doc/module.txt.
# The requirements made there (i.e. the existence of a "link.sh" file
# which defines certain variables) make sure that such an add-on module
# can be distributed with CLISP.
#
# If you want an add-on module to be _built_ automatically with CLISP,
# the following additional requirements have to be obeyed.
#
#   1. The module must be located in a subdirectory of clisp's source
#      directory.
#      Examples: clisp/src/ wildcard/
#                clisp/src/ bindings/linuxlibc5/
#
#   2. If the module contains a file called "configure", it is assumed
#      to be a GNU autoconf generated configuration file, and is called
#      with a "--cache-file=..." argument. It should generate platform
#      dependent header files, Makefiles and the like.
#
#   3. The module should contain a Makefile (maybe generated by requirement 2),
#      which defines the following targets:
#
#        clisp-module
#
#           This target builds the file mentioned by the link.sh file.
#           The following makefile variables can be used:
#             CC                 the C compiler used to compile the CLISP source
#             CFLAGS             the C compiler flags
#             INCLUDES           a directory containing CLISP header files
#             LISPBIBL_INCLUDES  if you #include "lispbibl.c", put this onto
#                                the dependency line
#             CLFLAGS            the C compiler flags when linking an executable
#             LIBS               the libraries used when linking an executable
#             RANLIB             the name of the "ranlib" command
#             CLISP              a command which calls the already built
#                                "base" clisp.
#           Typically, you will have rules like this in your Makefile:
#               foo.o : foo.c
#                       $(CC) $(CFLAGS) -I$(INCLUDES) -c foo.c
#               foo.fas : foo.lisp
#                       $(CLISP) -c foo.lisp
#
#        clisp-module-distrib
#
#           This target copies the module into a temporary distribution
#           directory, on the same disk.
#           The following makefile variables can be used:
#             distribdir       the name of temporary distribution directory
#             LN               command to make hard links (works also for
#                              symbolic links)
#           Typically, this target will look like this:
#
#               DISTRIBFILES = <the NEW_FILES mentioned in link.sh> <doc files>
#               clisp-module-distrib : clisp-module force
#                       $(LN) $(DISTRIBFILES) $(distribdir)
#
# If these requirements are obeyed, this Makefile will automatically build
# the add-on module and make it part of the "full" distribution -- all you
# need to do is to add its name to the MODULES definition line above.
#

COMMENT5 = comment5
ANSIDECL = ansidecl
VARBRACE = varbrace
TXT2C = txt2c -I../

DFILES = \
spvw.d \
spvwtabf.d \
spvwtabs.d \
spvwtabo.d \
eval.d \
control.d \
encoding.d \
pathname.d \
stream.d \
socket.d \
io.d \
array.d \
hashtabl.d \
list.d \
package.d \
record.d \
sequence.d \
charstrg.d \
debug.d \
error.d \
misc.d \
time.d \
predtype.d \
symbol.d \
lisparit.d \
foreign.d \
win32aux.d \
posixmisc.d \
dirkey.d \
lispbibl.d \
fsubr.d \
subr.d \
pseudofun.d \
constsym.d \
constobj.d \
win32.d \
xthread.d \
constpack.d \
avl.d \
sort.d \
subrkw.d \
bytecode.d \
spvw_module.d \
spvw_debug.d \
spvw_alloca.d \
spvw_mmap.d \
spvw_multimap.d \
spvw_singlemap.d \
spvw_page.d \
spvw_heap.d \
spvw_global.d \
spvw_gcstat.d \
spvw_space.d \
spvw_mark.d \
spvw_objsize.d \
spvw_update.d \
spvw_fault.d \
spvw_sigsegv.d \
spvw_sigcld.d \
spvw_sigpipe.d \
spvw_sigint.d \
spvw_sigwinch.d \
spvw_garcol.d \
spvw_genera1.d \
spvw_genera2.d \
spvw_genera3.d \
spvw_allocate.d \
spvw_typealloc.d \
spvw_circ.d \
spvw_walk.d \
spvw_ctype.d \
spvw_language.d \
spvw_memfile.d \
errwin32.d \
aridecl.d \
arilev0.d \
arilev1.d \
intelem.d \
intlog.d \
intplus.d \
intcomp.d \
intbyte.d \
intmal.d \
intdiv.d \
intgcd.d \
int2adic.d \
intsqrt.d \
intprint.d \
intread.d \
rational.d \
sfloat.d \
ffloat.d \
dfloat.d \
lfloat.d \
flo_konv.d \
flo_rest.d \
realelem.d \
realrand.d \
realtran.d \
compelem.d \
comptran.d \
posixmath.d \
arilev1c.d \
arilev1e.d \
arilev1i.d \
genclisph.d \
modules.d \
noreadline.d \
ari80386.d \
sp80386.d

CFILES = \
spvw.c \
spvwtabf.c \
spvwtabs.c \
spvwtabo.c \
eval.c \
control.c \
encoding.c \
pathname.c \
stream.c \
socket.c \
io.c \
array.c \
hashtabl.c \
list.c \
package.c \
record.c \
sequence.c \
charstrg.c \
debug.c \
error.c \
misc.c \
time.c \
predtype.c \
symbol.c \
lisparit.c \
foreign.c \
win32aux.c \
posixmisc.c \
dirkey.c \
lispbibl.c \
fsubr.c \
subr.c \
pseudofun.c \
constsym.c \
constobj.c \
win32.c \
xthread.c \
constpack.c \
avl.c \
sort.c \
subrkw.c \
bytecode.c \
spvw_module.c \
spvw_debug.c \
spvw_alloca.c \
spvw_mmap.c \
spvw_multimap.c \
spvw_singlemap.c \
spvw_page.c \
spvw_heap.c \
spvw_global.c \
spvw_gcstat.c \
spvw_space.c \
spvw_mark.c \
spvw_objsize.c \
spvw_update.c \
spvw_fault.c \
spvw_sigsegv.c \
spvw_sigcld.c \
spvw_sigpipe.c \
spvw_sigint.c \
spvw_sigwinch.c \
spvw_garcol.c \
spvw_genera1.c \
spvw_genera2.c \
spvw_genera3.c \
spvw_allocate.c \
spvw_typealloc.c \
spvw_circ.c \
spvw_walk.c \
spvw_ctype.c \
spvw_language.c \
spvw_memfile.c \
errwin32.c \
aridecl.c \
arilev0.c \
arilev1.c \
intelem.c \
intlog.c \
intplus.c \
intcomp.c \
intbyte.c \
intmal.c \
intdiv.c \
intgcd.c \
int2adic.c \
intsqrt.c \
intprint.c \
intread.c \
rational.c \
sfloat.c \
ffloat.c \
dfloat.c \
lfloat.c \
flo_konv.c \
flo_rest.c \
realelem.c \
realrand.c \
realtran.c \
compelem.c \
comptran.c \
posixmath.c \
arilev1c.c \
arilev1e.c \
arilev1i.c \
genclisph.c \
modules.c \
noreadline.c \
ari80386.c \
sp80386.c

OBJECTS = \
spvw.obj \
spvwtabf.obj \
spvwtabs.obj \
spvwtabo.obj \
eval.obj \
control.obj \
encoding.obj \
pathname.obj \
stream.obj \
socket.obj \
io.obj \
array.obj \
hashtabl.obj \
list.obj \
package.obj \
record.obj \
sequence.obj \
charstrg.obj \
debug.obj \
error.obj \
misc.obj \
time.obj \
predtype.obj \
symbol.obj \
lisparit.obj \
foreign.obj \
win32aux.obj \
posixmisc.obj \
dirkey.obj \
ari80386.obj \
sp80386.obj

LISPFILES = \
init.lisp \
defseq.lisp \
backquote.lisp \
defmacro.lisp \
macros1.lisp \
macros2.lisp \
defs1.lisp \
timezone.lisp \
places.lisp \
floatprint.lisp \
type.lisp \
defstruct.lisp \
format.lisp \
savemem.lisp \
trace.lisp \
compiler.lisp \
disassem.lisp \
defs2.lisp \
loop.lisp \
clos.lisp \
condition.lisp \
gstream.lisp \
xcharin.lisp \
keyboard.lisp \
screen.lisp \
beossock.lisp \
runprog.lisp \
query.lisp \
reploop.lisp \
dribble.lisp \
complete.lisp \
describe.lisp \
room.lisp \
edit.lisp \
macros3.lisp \
posix.lisp \
foreign1.lisp \
defs3.lisp \
clhs.lisp \
inspect.lisp \
german.lisp \
french.lisp \
spanish.lisp \
dutch.lisp \
config.lisp

FASFILES = \
init.fas \
defseq.fas \
backquote.fas \
defmacro.fas \
macros1.fas \
macros2.fas \
defs1.fas \
timezone.fas \
places.fas \
floatprint.fas \
type.fas \
defstruct.fas \
format.fas \
savemem.fas \
trace.fas \
compiler.fas \
disassem.fas \
defs2.fas \
loop.fas \
clos.fas \
condition.fas \
gstream.fas \
xcharin.fas \
keyboard.fas \
screen.fas \
beossock.fas \
runprog.fas \
query.fas \
reploop.fas \
dribble.fas \
complete.fas \
describe.fas \
room.fas \
edit.fas \
macros3.fas \
posix.fas \
foreign1.fas \
defs3.fas \
clhs.fas \
inspect.fas \
german.fas \
french.fas \
spanish.fas \
dutch.fas \
config.fas

TXTFILES = \
LISP-tutorial.txt \
CLOS-guide.txt \
editors.txt

TESTLISPFILES = \
stage\init.lisp \
stage\defseq.lisp \
stage\backquote.lisp \
stage\defmacro.lisp \
stage\macros1.lisp \
stage\macros2.lisp \
stage\defs1.lisp \
stage\timezone.lisp \
stage\places.lisp \
stage\floatprint.lisp \
stage\type.lisp \
stage\defstruct.lisp \
stage\format.lisp \
stage\savemem.lisp \
stage\trace.lisp \
stage\compiler.lisp \
stage\disassem.lisp \
stage\defs2.lisp \
stage\loop.lisp \
stage\clos.lisp \
stage\condition.lisp \
stage\gstream.lisp \
stage\xcharin.lisp \
stage\keyboard.lisp \
stage\screen.lisp \
stage\beossock.lisp \
stage\runprog.lisp \
stage\query.lisp \
stage\reploop.lisp \
stage\dribble.lisp \
stage\complete.lisp \
stage\describe.lisp \
stage\room.lisp \
stage\edit.lisp \
stage\macros3.lisp \
stage\posix.lisp \
stage\foreign1.lisp \
stage\defs3.lisp \
stage\clhs.lisp \
stage\inspect.lisp \
stage\german.lisp \
stage\french.lisp \
stage\spanish.lisp \
stage\dutch.lisp \
stage\config.lisp

TESTFASFILES = \
stage\init.fas \
stage\defseq.fas \
stage\backquote.fas \
stage\defmacro.fas \
stage\macros1.fas \
stage\macros2.fas \
stage\defs1.fas \
stage\timezone.fas \
stage\places.fas \
stage\floatprint.fas \
stage\type.fas \
stage\defstruct.fas \
stage\format.fas \
stage\savemem.fas \
stage\trace.fas \
stage\compiler.fas \
stage\disassem.fas \
stage\defs2.fas \
stage\loop.fas \
stage\clos.fas \
stage\condition.fas \
stage\gstream.fas \
stage\xcharin.fas \
stage\keyboard.fas \
stage\screen.fas \
stage\beossock.fas \
stage\runprog.fas \
stage\query.fas \
stage\reploop.fas \
stage\dribble.fas \
stage\complete.fas \
stage\describe.fas \
stage\room.fas \
stage\edit.fas \
stage\macros3.fas \
stage\posix.fas \
stage\foreign1.fas \
stage\defs3.fas \
stage\clhs.fas \
stage\inspect.fas \
stage\german.fas \
stage\french.fas \
stage\spanish.fas \
stage\dutch.fas \
stage\config.fas


all : init allc allo lisp.exe interpreted.mem halfcompiled.mem lispinit.mem manual


init : ../utils/gcc-cccp/cccp.exe comment5.exe ansidecl.exe varbrace.exe txt2c.exe ccmp2c.exe modprep.exe $(DFILES) modules.h

../utils/gcc-cccp/cccp.exe :

comment5.exe : ..\utils\comment5.c
	$(CC) $(CFLAGS) $(CLFLAGS) ..\utils\comment5.c /Fecomment5.exe

ansidecl.exe : ..\utils\ansidecl.d comment5.exe
	$(LN_S) ..\utils\ansidecl.d ansidecl.d
	$(COMMENT5) ansidecl.d ansidecl.c
	$(RM) ansidecl.d
	$(CC) $(CFLAGS) $(CLFLAGS) ansidecl.c /Feansidecl.exe
	$(RM) ansidecl.c

varbrace.exe : ..\utils\varbrace.d comment5.exe ansidecl.exe
	$(COMMENT5) ..\utils\varbrace.d | $(ANSIDECL) > varbrace.c
	$(CC) $(CFLAGS) $(CLFLAGS) varbrace.c /Fevarbrace.exe
	$(RM) varbrace.c

txt2c.exe : ..\utils\txt2c.c ansidecl.exe
	$(ANSIDECL) < ..\utils\txt2c.c > txt2c.c
	$(CC) $(CFLAGS) $(CLFLAGS) txt2c.c /Fetxt2c.exe
	$(RM) txt2c.c

ccmp2c.exe : ..\utils\ccmp2c.d comment5.exe ansidecl.exe
	$(COMMENT5) ..\utils\ccmp2c.d | $(ANSIDECL) > ccmp2c.c
	$(CC) $(CFLAGS) $(CLFLAGS) -I. ccmp2c.c /Feccmp2c.exe
	$(RM) ccmp2c.c

modprep.exe : ..\utils\modprep.d comment5.exe ansidecl.exe
	$(COMMENT5) ..\utils\modprep.d | $(ANSIDECL) > modprep.c
	$(CC) $(CFLAGS) $(CLFLAGS) modprep.c /Femodprep.exe
	$(RM) modprep.c


stdbool.h : stdbool.h.in
	-$(LN_S) stdbool.h.in stdbool.h

allc : init $(CFILES)

spvw.c : spvw.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw.d | $(ANSIDECL) | $(VARBRACE) > spvw.c

spvwtabf.c : spvwtabf.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvwtabf.d | $(ANSIDECL) | $(VARBRACE) > spvwtabf.c

spvwtabs.c : spvwtabs.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvwtabs.d | $(ANSIDECL) | $(VARBRACE) > spvwtabs.c

spvwtabo.c : spvwtabo.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvwtabo.d | $(ANSIDECL) | $(VARBRACE) > spvwtabo.c

eval.c : eval.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) eval.d | $(ANSIDECL) | $(VARBRACE) > eval.c

control.c : control.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) control.d | $(ANSIDECL) | $(VARBRACE) > control.c

encoding.c : encoding.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) encoding.d | $(ANSIDECL) | $(VARBRACE) > encoding.c

pathname.c : pathname.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) pathname.d | $(ANSIDECL) | $(VARBRACE) > pathname.c

stream.c : stream.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) stream.d | $(ANSIDECL) | $(VARBRACE) > stream.c

socket.c : socket.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) socket.d | $(ANSIDECL) | $(VARBRACE) > socket.c

io.c : io.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) io.d | $(ANSIDECL) | $(VARBRACE) > io.c

array.c : array.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) array.d | $(ANSIDECL) | $(VARBRACE) > array.c

hashtabl.c : hashtabl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) hashtabl.d | $(ANSIDECL) | $(VARBRACE) > hashtabl.c

list.c : list.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) list.d | $(ANSIDECL) | $(VARBRACE) > list.c

package.c : package.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) package.d | $(ANSIDECL) | $(VARBRACE) > package.c

record.c : record.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) record.d | $(ANSIDECL) | $(VARBRACE) > record.c

sequence.c : sequence.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) sequence.d | $(ANSIDECL) | $(VARBRACE) > sequence.c

charstrg.c : charstrg.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) charstrg.d | $(ANSIDECL) | $(VARBRACE) > charstrg.c

debug.c : debug.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) debug.d | $(ANSIDECL) | $(VARBRACE) > debug.c

error.c : error.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) error.d | $(ANSIDECL) | $(VARBRACE) > error.c

misc.c : misc.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) misc.d | $(ANSIDECL) | $(VARBRACE) > misc.c

time.c : time.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) time.d | $(ANSIDECL) | $(VARBRACE) > time.c

predtype.c : predtype.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) predtype.d | $(ANSIDECL) | $(VARBRACE) > predtype.c

symbol.c : symbol.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) symbol.d | $(ANSIDECL) | $(VARBRACE) > symbol.c

lisparit.c : lisparit.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) lisparit.d | $(ANSIDECL) | $(VARBRACE) > lisparit.c

foreign.c : foreign.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) foreign.d | $(ANSIDECL) | $(VARBRACE) > foreign.c

win32aux.c : win32aux.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) win32aux.d | $(ANSIDECL) | $(VARBRACE) > win32aux.c

posixmisc.c : posixmisc.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) posixmisc.d | $(ANSIDECL) | $(VARBRACE) > posixmisc.c

dirkey.c : dirkey.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) dirkey.d | $(ANSIDECL) | $(VARBRACE) > dirkey.c

lispbibl.c : lispbibl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) lispbibl.d | $(ANSIDECL) | $(VARBRACE) > lispbibl.c

fsubr.c : fsubr.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) fsubr.d | $(ANSIDECL) | $(VARBRACE) > fsubr.c

subr.c : subr.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) subr.d | $(ANSIDECL) | $(VARBRACE) > subr.c

pseudofun.c : pseudofun.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) pseudofun.d | $(ANSIDECL) | $(VARBRACE) > pseudofun.c

constsym.c : constsym.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) constsym.d | $(ANSIDECL) | $(VARBRACE) > constsym.c

constobj.c : constobj.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) constobj.d | $(ANSIDECL) | $(VARBRACE) > constobj.c

win32.c : win32.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) win32.d | $(ANSIDECL) | $(VARBRACE) > win32.c

xthread.c : xthread.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) xthread.d | $(ANSIDECL) | $(VARBRACE) > xthread.c

constpack.c : constpack.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) constpack.d | $(ANSIDECL) | $(VARBRACE) > constpack.c

avl.c : avl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) avl.d | $(ANSIDECL) | $(VARBRACE) > avl.c

sort.c : sort.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) sort.d | $(ANSIDECL) | $(VARBRACE) > sort.c

subrkw.c : subrkw.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) subrkw.d | $(ANSIDECL) | $(VARBRACE) > subrkw.c

bytecode.c : bytecode.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) bytecode.d | $(ANSIDECL) | $(VARBRACE) > bytecode.c

spvw_module.c : spvw_module.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_module.d | $(ANSIDECL) | $(VARBRACE) > spvw_module.c

spvw_debug.c : spvw_debug.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_debug.d | $(ANSIDECL) | $(VARBRACE) > spvw_debug.c

spvw_alloca.c : spvw_alloca.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_alloca.d | $(ANSIDECL) | $(VARBRACE) > spvw_alloca.c

spvw_mmap.c : spvw_mmap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_mmap.d | $(ANSIDECL) | $(VARBRACE) > spvw_mmap.c

spvw_multimap.c : spvw_multimap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_multimap.d | $(ANSIDECL) | $(VARBRACE) > spvw_multimap.c

spvw_singlemap.c : spvw_singlemap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_singlemap.d | $(ANSIDECL) | $(VARBRACE) > spvw_singlemap.c

spvw_page.c : spvw_page.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_page.d | $(ANSIDECL) | $(VARBRACE) > spvw_page.c

spvw_heap.c : spvw_heap.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_heap.d | $(ANSIDECL) | $(VARBRACE) > spvw_heap.c

spvw_global.c : spvw_global.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_global.d | $(ANSIDECL) | $(VARBRACE) > spvw_global.c

spvw_gcstat.c : spvw_gcstat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_gcstat.d | $(ANSIDECL) | $(VARBRACE) > spvw_gcstat.c

spvw_space.c : spvw_space.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_space.d | $(ANSIDECL) | $(VARBRACE) > spvw_space.c

spvw_mark.c : spvw_mark.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_mark.d | $(ANSIDECL) | $(VARBRACE) > spvw_mark.c

spvw_objsize.c : spvw_objsize.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_objsize.d | $(ANSIDECL) | $(VARBRACE) > spvw_objsize.c

spvw_update.c : spvw_update.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_update.d | $(ANSIDECL) | $(VARBRACE) > spvw_update.c

spvw_fault.c : spvw_fault.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_fault.d | $(ANSIDECL) | $(VARBRACE) > spvw_fault.c

spvw_sigsegv.c : spvw_sigsegv.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigsegv.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigsegv.c

spvw_sigcld.c : spvw_sigcld.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigcld.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigcld.c

spvw_sigpipe.c : spvw_sigpipe.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigpipe.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigpipe.c

spvw_sigint.c : spvw_sigint.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigint.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigint.c

spvw_sigwinch.c : spvw_sigwinch.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_sigwinch.d | $(ANSIDECL) | $(VARBRACE) > spvw_sigwinch.c

spvw_garcol.c : spvw_garcol.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_garcol.d | $(ANSIDECL) | $(VARBRACE) > spvw_garcol.c

spvw_genera1.c : spvw_genera1.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_genera1.d | $(ANSIDECL) | $(VARBRACE) > spvw_genera1.c

spvw_genera2.c : spvw_genera2.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_genera2.d | $(ANSIDECL) | $(VARBRACE) > spvw_genera2.c

spvw_genera3.c : spvw_genera3.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_genera3.d | $(ANSIDECL) | $(VARBRACE) > spvw_genera3.c

spvw_allocate.c : spvw_allocate.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_allocate.d | $(ANSIDECL) | $(VARBRACE) > spvw_allocate.c

spvw_typealloc.c : spvw_typealloc.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_typealloc.d | $(ANSIDECL) | $(VARBRACE) > spvw_typealloc.c

spvw_circ.c : spvw_circ.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_circ.d | $(ANSIDECL) | $(VARBRACE) > spvw_circ.c

spvw_walk.c : spvw_walk.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_walk.d | $(ANSIDECL) | $(VARBRACE) > spvw_walk.c

spvw_ctype.c : spvw_ctype.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_ctype.d | $(ANSIDECL) | $(VARBRACE) > spvw_ctype.c

spvw_language.c : spvw_language.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_language.d | $(ANSIDECL) | $(VARBRACE) > spvw_language.c

spvw_memfile.c : spvw_memfile.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) spvw_memfile.d | $(ANSIDECL) | $(VARBRACE) > spvw_memfile.c

errwin32.c : errwin32.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) errwin32.d | $(ANSIDECL) | $(VARBRACE) > errwin32.c

aridecl.c : aridecl.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) aridecl.d | $(ANSIDECL) | $(VARBRACE) > aridecl.c

arilev0.c : arilev0.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev0.d | $(ANSIDECL) | $(VARBRACE) > arilev0.c

arilev1.c : arilev1.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1.d | $(ANSIDECL) | $(VARBRACE) > arilev1.c

intelem.c : intelem.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intelem.d | $(ANSIDECL) | $(VARBRACE) > intelem.c

intlog.c : intlog.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intlog.d | $(ANSIDECL) | $(VARBRACE) > intlog.c

intplus.c : intplus.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intplus.d | $(ANSIDECL) | $(VARBRACE) > intplus.c

intcomp.c : intcomp.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intcomp.d | $(ANSIDECL) | $(VARBRACE) > intcomp.c

intbyte.c : intbyte.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intbyte.d | $(ANSIDECL) | $(VARBRACE) > intbyte.c

intmal.c : intmal.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intmal.d | $(ANSIDECL) | $(VARBRACE) > intmal.c

intdiv.c : intdiv.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intdiv.d | $(ANSIDECL) | $(VARBRACE) > intdiv.c

intgcd.c : intgcd.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intgcd.d | $(ANSIDECL) | $(VARBRACE) > intgcd.c

int2adic.c : int2adic.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) int2adic.d | $(ANSIDECL) | $(VARBRACE) > int2adic.c

intsqrt.c : intsqrt.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intsqrt.d | $(ANSIDECL) | $(VARBRACE) > intsqrt.c

intprint.c : intprint.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intprint.d | $(ANSIDECL) | $(VARBRACE) > intprint.c

intread.c : intread.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) intread.d | $(ANSIDECL) | $(VARBRACE) > intread.c

rational.c : rational.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) rational.d | $(ANSIDECL) | $(VARBRACE) > rational.c

sfloat.c : sfloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) sfloat.d | $(ANSIDECL) | $(VARBRACE) > sfloat.c

ffloat.c : ffloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) ffloat.d | $(ANSIDECL) | $(VARBRACE) > ffloat.c

dfloat.c : dfloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) dfloat.d | $(ANSIDECL) | $(VARBRACE) > dfloat.c

lfloat.c : lfloat.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) lfloat.d | $(ANSIDECL) | $(VARBRACE) > lfloat.c

flo_konv.c : flo_konv.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) flo_konv.d | $(ANSIDECL) | $(VARBRACE) > flo_konv.c

flo_rest.c : flo_rest.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) flo_rest.d | $(ANSIDECL) | $(VARBRACE) > flo_rest.c

realelem.c : realelem.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) realelem.d | $(ANSIDECL) | $(VARBRACE) > realelem.c

realrand.c : realrand.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) realrand.d | $(ANSIDECL) | $(VARBRACE) > realrand.c

realtran.c : realtran.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) realtran.d | $(ANSIDECL) | $(VARBRACE) > realtran.c

compelem.c : compelem.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) compelem.d | $(ANSIDECL) | $(VARBRACE) > compelem.c

comptran.c : comptran.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) comptran.d | $(ANSIDECL) | $(VARBRACE) > comptran.c

posixmath.c : posixmath.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) posixmath.d | $(ANSIDECL) | $(VARBRACE) > posixmath.c

arilev1c.c : arilev1c.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1c.d | $(ANSIDECL) | $(VARBRACE) > arilev1c.c

arilev1e.c : arilev1e.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1e.d | $(ANSIDECL) | $(VARBRACE) > arilev1e.c

arilev1i.c : arilev1i.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) arilev1i.d | $(ANSIDECL) | $(VARBRACE) > arilev1i.c

genclisph.c : genclisph.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) genclisph.d | $(ANSIDECL) | $(VARBRACE) > genclisph.c

modules.c : modules.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) modules.d | $(ANSIDECL) | $(VARBRACE) > modules.c

noreadline.c : noreadline.d comment5.exe ansidecl.exe varbrace.exe
	$(COMMENT5) noreadline.d | $(ANSIDECL) | $(VARBRACE) > noreadline.c

ari80386.c : ari80386.d comment5.exe 
	$(COMMENT5) ari80386.d > ari80386.c

sp80386.c : sp80386.d comment5.exe 
	$(COMMENT5) sp80386.d > sp80386.c

allo : allc spvw.obj spvwtabf.obj spvwtabs.obj spvwtabo.obj eval.obj control.obj encoding.obj pathname.obj stream.obj socket.obj io.obj array.obj hashtabl.obj list.obj package.obj record.obj sequence.obj charstrg.obj debug.obj error.obj misc.obj time.obj predtype.obj symbol.obj lisparit.obj foreign.obj win32aux.obj posixmisc.obj dirkey.obj

alls : allc spvw.s spvwtabf.s spvwtabs.s spvwtabo.s eval.s control.s encoding.s pathname.s stream.s socket.s io.s array.s hashtabl.s list.s package.s record.s sequence.s charstrg.s debug.s error.s misc.s time.s predtype.s symbol.s lisparit.s foreign.s win32aux.s posixmisc.s dirkey.s

# Normally not used (just for debugging).
alli : allc spvw.i spvwtabf.i spvwtabs.i spvwtabo.i eval.i control.i encoding.i pathname.i stream.i socket.i io.i array.i hashtabl.i list.i package.i record.i sequence.i charstrg.i debug.i error.i misc.i time.i predtype.i symbol.i lisparit.i foreign.i win32aux.i posixmisc.i dirkey.i

spvw.i : spvw.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c avl.c spvw_module.c spvw_debug.c spvw_alloca.c spvw_mmap.c spvw_multimap.c spvw_singlemap.c spvw_page.c spvw_heap.c spvw_global.c spvw_gcstat.c spvw_space.c spvw_mark.c spvw_objsize.c spvw_update.c spvw_fault.c spvw_sigsegv.c spvw_sigcld.c spvw_sigpipe.c spvw_sigint.c spvw_sigwinch.c spvw_garcol.c spvw_genera1.c spvw_genera2.c spvw_genera3.c spvw_allocate.c spvw_typealloc.c spvw_circ.c spvw_walk.c spvw_ctype.c spvw_language.c spvw_memfile.c sort.c subrkw.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h version.h
	$(CPP) $(CFLAGS) spvw.c > spvw.i

spvw.s : spvw.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c avl.c spvw_module.c spvw_debug.c spvw_alloca.c spvw_mmap.c spvw_multimap.c spvw_singlemap.c spvw_page.c spvw_heap.c spvw_global.c spvw_gcstat.c spvw_space.c spvw_mark.c spvw_objsize.c spvw_update.c spvw_fault.c spvw_sigsegv.c spvw_sigcld.c spvw_sigpipe.c spvw_sigint.c spvw_sigwinch.c spvw_garcol.c spvw_genera1.c spvw_genera2.c spvw_genera3.c spvw_allocate.c spvw_typealloc.c spvw_circ.c spvw_walk.c spvw_ctype.c spvw_language.c spvw_memfile.c sort.c subrkw.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h version.h
	$(CPP) $(CFLAGS) spvw.c > spvw.i.c
	$(CC) $(CFLAGS) -c spvw.i.c /FAs /Faspvw.s
	$(RM) spvw.i.obj
	$(RM) spvw.i.c

spvw.obj : spvw.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c avl.c spvw_module.c spvw_debug.c spvw_alloca.c spvw_mmap.c spvw_multimap.c spvw_singlemap.c spvw_page.c spvw_heap.c spvw_global.c spvw_gcstat.c spvw_space.c spvw_mark.c spvw_objsize.c spvw_update.c spvw_fault.c spvw_sigsegv.c spvw_sigcld.c spvw_sigpipe.c spvw_sigint.c spvw_sigwinch.c spvw_garcol.c spvw_genera1.c spvw_genera2.c spvw_genera3.c spvw_allocate.c spvw_typealloc.c spvw_circ.c spvw_walk.c spvw_ctype.c spvw_language.c spvw_memfile.c sort.c subrkw.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h version.h
	$(CPP) $(CFLAGS) spvw.c > spvw.i.c
	$(CC) $(CFLAGS) -c spvw.i.c
	$(RM) spvw.obj
	$(MV) spvw.i.obj spvw.obj
	$(RM) spvw.i.c

spvwtabf.i : spvwtabf.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabf.c > spvwtabf.i

spvwtabf.s : spvwtabf.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabf.c > spvwtabf.i.c
	$(CC) $(CFLAGS) -c spvwtabf.i.c /FAs /Faspvwtabf.s
	$(RM) spvwtabf.i.obj
	$(RM) spvwtabf.i.c

spvwtabf.obj : spvwtabf.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabf.c > spvwtabf.i.c
	$(CC) $(CFLAGS) -c spvwtabf.i.c
	$(RM) spvwtabf.obj
	$(MV) spvwtabf.i.obj spvwtabf.obj
	$(RM) spvwtabf.i.c

spvwtabs.i : spvwtabs.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabs.c > spvwtabs.i

spvwtabs.s : spvwtabs.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabs.c > spvwtabs.i.c
	$(CC) $(CFLAGS) -c spvwtabs.i.c /FAs /Faspvwtabs.s
	$(RM) spvwtabs.i.obj
	$(RM) spvwtabs.i.c

spvwtabs.obj : spvwtabs.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabs.c > spvwtabs.i.c
	$(CC) $(CFLAGS) -c spvwtabs.i.c
	$(RM) spvwtabs.obj
	$(MV) spvwtabs.i.obj spvwtabs.obj
	$(RM) spvwtabs.i.c

spvwtabo.i : spvwtabo.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabo.c > spvwtabo.i

spvwtabo.s : spvwtabo.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabo.c > spvwtabo.i.c
	$(CC) $(CFLAGS) -c spvwtabo.i.c /FAs /Faspvwtabo.s
	$(RM) spvwtabo.i.obj
	$(RM) spvwtabo.i.c

spvwtabo.obj : spvwtabo.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) spvwtabo.c > spvwtabo.i.c
	$(CC) $(CFLAGS) -c spvwtabo.i.c
	$(RM) spvwtabo.obj
	$(MV) spvwtabo.i.obj spvwtabo.obj
	$(RM) spvwtabo.i.c

eval.i : eval.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c bytecode.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) eval.c > eval.i

eval.s : eval.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c bytecode.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) eval.c > eval.i.c
	$(CC) $(CFLAGS) -c eval.i.c /FAs /Faeval.s
	$(RM) eval.i.obj
	$(RM) eval.i.c

eval.obj : eval.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c bytecode.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) eval.c > eval.i.c
	$(CC) $(CFLAGS) -c eval.i.c
	$(RM) eval.obj
	$(MV) eval.i.obj eval.obj
	$(RM) eval.i.c

control.i : control.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) control.c > control.i

control.s : control.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) control.c > control.i.c
	$(CC) $(CFLAGS) -c control.i.c /FAs /Facontrol.s
	$(RM) control.i.obj
	$(RM) control.i.c

control.obj : control.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) control.c > control.i.c
	$(CC) $(CFLAGS) -c control.i.c
	$(RM) control.obj
	$(MV) control.i.obj control.obj
	$(RM) control.i.c

encoding.i : encoding.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c nls_ascii.c nls_iso8859_1.c nls_iso8859_2.c nls_iso8859_3.c nls_iso8859_4.c nls_iso8859_5.c nls_iso8859_6.c nls_iso8859_7.c nls_iso8859_8.c nls_iso8859_9.c nls_iso8859_10.c nls_iso8859_13.c nls_iso8859_14.c nls_iso8859_15.c nls_iso8859_16.c nls_koi8_r.c nls_koi8_u.c nls_mac_arabic.c nls_mac_centraleurope.c nls_mac_croatian.c nls_mac_cyrillic.c nls_mac_dingbat.c nls_mac_greek.c nls_mac_hebrew.c nls_mac_iceland.c nls_mac_roman.c nls_mac_romania.c nls_mac_symbol.c nls_mac_thai.c nls_mac_turkish.c nls_mac_ukraine.c nls_cp437_ms.c nls_cp437_ibm.c nls_cp737.c nls_cp775.c nls_cp850.c nls_cp852_ms.c nls_cp852_ibm.c nls_cp855.c nls_cp857.c nls_cp860_ms.c nls_cp860_ibm.c nls_cp861_ms.c nls_cp861_ibm.c nls_cp862_ms.c nls_cp862_ibm.c nls_cp863_ms.c nls_cp863_ibm.c nls_cp864_ms.c nls_cp864_ibm.c nls_cp865_ms.c nls_cp865_ibm.c nls_cp866.c nls_cp869_ms.c nls_cp869_ibm.c nls_cp874_ms.c nls_cp874_ibm.c nls_cp1250.c nls_cp1251.c nls_cp1252.c nls_cp1253.c nls_cp1254.c nls_cp1255.c nls_cp1256.c nls_cp1257.c nls_cp1258.c nls_hp_roman8.c nls_nextstep.c nls_jisx0201.c stdbool.h iconv.h sigsegv.h libcharset.h
	$(CPP) $(CFLAGS) encoding.c > encoding.i

encoding.s : encoding.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c nls_ascii.c nls_iso8859_1.c nls_iso8859_2.c nls_iso8859_3.c nls_iso8859_4.c nls_iso8859_5.c nls_iso8859_6.c nls_iso8859_7.c nls_iso8859_8.c nls_iso8859_9.c nls_iso8859_10.c nls_iso8859_13.c nls_iso8859_14.c nls_iso8859_15.c nls_iso8859_16.c nls_koi8_r.c nls_koi8_u.c nls_mac_arabic.c nls_mac_centraleurope.c nls_mac_croatian.c nls_mac_cyrillic.c nls_mac_dingbat.c nls_mac_greek.c nls_mac_hebrew.c nls_mac_iceland.c nls_mac_roman.c nls_mac_romania.c nls_mac_symbol.c nls_mac_thai.c nls_mac_turkish.c nls_mac_ukraine.c nls_cp437_ms.c nls_cp437_ibm.c nls_cp737.c nls_cp775.c nls_cp850.c nls_cp852_ms.c nls_cp852_ibm.c nls_cp855.c nls_cp857.c nls_cp860_ms.c nls_cp860_ibm.c nls_cp861_ms.c nls_cp861_ibm.c nls_cp862_ms.c nls_cp862_ibm.c nls_cp863_ms.c nls_cp863_ibm.c nls_cp864_ms.c nls_cp864_ibm.c nls_cp865_ms.c nls_cp865_ibm.c nls_cp866.c nls_cp869_ms.c nls_cp869_ibm.c nls_cp874_ms.c nls_cp874_ibm.c nls_cp1250.c nls_cp1251.c nls_cp1252.c nls_cp1253.c nls_cp1254.c nls_cp1255.c nls_cp1256.c nls_cp1257.c nls_cp1258.c nls_hp_roman8.c nls_nextstep.c nls_jisx0201.c stdbool.h iconv.h sigsegv.h libcharset.h
	$(CPP) $(CFLAGS) encoding.c > encoding.i.c
	$(CC) $(CFLAGS) -c encoding.i.c /FAs /Faencoding.s
	$(RM) encoding.i.obj
	$(RM) encoding.i.c

encoding.obj : encoding.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c nls_ascii.c nls_iso8859_1.c nls_iso8859_2.c nls_iso8859_3.c nls_iso8859_4.c nls_iso8859_5.c nls_iso8859_6.c nls_iso8859_7.c nls_iso8859_8.c nls_iso8859_9.c nls_iso8859_10.c nls_iso8859_13.c nls_iso8859_14.c nls_iso8859_15.c nls_iso8859_16.c nls_koi8_r.c nls_koi8_u.c nls_mac_arabic.c nls_mac_centraleurope.c nls_mac_croatian.c nls_mac_cyrillic.c nls_mac_dingbat.c nls_mac_greek.c nls_mac_hebrew.c nls_mac_iceland.c nls_mac_roman.c nls_mac_romania.c nls_mac_symbol.c nls_mac_thai.c nls_mac_turkish.c nls_mac_ukraine.c nls_cp437_ms.c nls_cp437_ibm.c nls_cp737.c nls_cp775.c nls_cp850.c nls_cp852_ms.c nls_cp852_ibm.c nls_cp855.c nls_cp857.c nls_cp860_ms.c nls_cp860_ibm.c nls_cp861_ms.c nls_cp861_ibm.c nls_cp862_ms.c nls_cp862_ibm.c nls_cp863_ms.c nls_cp863_ibm.c nls_cp864_ms.c nls_cp864_ibm.c nls_cp865_ms.c nls_cp865_ibm.c nls_cp866.c nls_cp869_ms.c nls_cp869_ibm.c nls_cp874_ms.c nls_cp874_ibm.c nls_cp1250.c nls_cp1251.c nls_cp1252.c nls_cp1253.c nls_cp1254.c nls_cp1255.c nls_cp1256.c nls_cp1257.c nls_cp1258.c nls_hp_roman8.c nls_nextstep.c nls_jisx0201.c stdbool.h iconv.h sigsegv.h libcharset.h
	$(CPP) $(CFLAGS) encoding.c > encoding.i.c
	$(CC) $(CFLAGS) -c encoding.i.c
	$(RM) encoding.obj
	$(MV) encoding.i.obj encoding.obj
	$(RM) encoding.i.c

pathname.i : pathname.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) pathname.c > pathname.i

pathname.s : pathname.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) pathname.c > pathname.i.c
	$(CC) $(CFLAGS) -c pathname.i.c /FAs /Fapathname.s
	$(RM) pathname.i.obj
	$(RM) pathname.i.c

pathname.obj : pathname.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) pathname.c > pathname.i.c
	$(CC) $(CFLAGS) -c pathname.i.c
	$(RM) pathname.obj
	$(MV) pathname.i.obj pathname.obj
	$(RM) pathname.i.c

stream.i : stream.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) stream.c > stream.i

stream.s : stream.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) stream.c > stream.i.c
	$(CC) $(CFLAGS) -c stream.i.c /FAs /Fastream.s
	$(RM) stream.i.obj
	$(RM) stream.i.c

stream.obj : stream.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) stream.c > stream.i.c
	$(CC) $(CFLAGS) -c stream.i.c
	$(RM) stream.obj
	$(MV) stream.i.obj stream.obj
	$(RM) stream.i.c

socket.i : socket.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) socket.c > socket.i

socket.s : socket.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) socket.c > socket.i.c
	$(CC) $(CFLAGS) -c socket.i.c /FAs /Fasocket.s
	$(RM) socket.i.obj
	$(RM) socket.i.c

socket.obj : socket.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) socket.c > socket.i.c
	$(CC) $(CFLAGS) -c socket.i.c
	$(RM) socket.obj
	$(MV) socket.i.obj socket.obj
	$(RM) socket.i.c

io.i : io.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) io.c > io.i

io.s : io.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) io.c > io.i.c
	$(CC) $(CFLAGS) -c io.i.c /FAs /Faio.s
	$(RM) io.i.obj
	$(RM) io.i.c

io.obj : io.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) io.c > io.i.c
	$(CC) $(CFLAGS) -c io.i.c
	$(RM) io.obj
	$(MV) io.i.obj io.obj
	$(RM) io.i.c

array.i : array.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) array.c > array.i

array.s : array.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) array.c > array.i.c
	$(CC) $(CFLAGS) -c array.i.c /FAs /Faarray.s
	$(RM) array.i.obj
	$(RM) array.i.c

array.obj : array.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) array.c > array.i.c
	$(CC) $(CFLAGS) -c array.i.c
	$(RM) array.obj
	$(MV) array.i.obj array.obj
	$(RM) array.i.c

hashtabl.i : hashtabl.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) hashtabl.c > hashtabl.i

hashtabl.s : hashtabl.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) hashtabl.c > hashtabl.i.c
	$(CC) $(CFLAGS) -c hashtabl.i.c /FAs /Fahashtabl.s
	$(RM) hashtabl.i.obj
	$(RM) hashtabl.i.c

hashtabl.obj : hashtabl.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c aridecl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) hashtabl.c > hashtabl.i.c
	$(CC) $(CFLAGS) -c hashtabl.i.c
	$(RM) hashtabl.obj
	$(MV) hashtabl.i.obj hashtabl.obj
	$(RM) hashtabl.i.c

list.i : list.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) list.c > list.i

list.s : list.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) list.c > list.i.c
	$(CC) $(CFLAGS) -c list.i.c /FAs /Falist.s
	$(RM) list.i.obj
	$(RM) list.i.c

list.obj : list.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) list.c > list.i.c
	$(CC) $(CFLAGS) -c list.i.c
	$(RM) list.obj
	$(MV) list.i.obj list.obj
	$(RM) list.i.c

package.i : package.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) package.c > package.i

package.s : package.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) package.c > package.i.c
	$(CC) $(CFLAGS) -c package.i.c /FAs /Fapackage.s
	$(RM) package.i.obj
	$(RM) package.i.c

package.obj : package.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c constpack.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) package.c > package.i.c
	$(CC) $(CFLAGS) -c package.i.c
	$(RM) package.obj
	$(MV) package.i.obj package.obj
	$(RM) package.i.c

record.i : record.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) record.c > record.i

record.s : record.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) record.c > record.i.c
	$(CC) $(CFLAGS) -c record.i.c /FAs /Farecord.s
	$(RM) record.i.obj
	$(RM) record.i.c

record.obj : record.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) record.c > record.i.c
	$(CC) $(CFLAGS) -c record.i.c
	$(RM) record.obj
	$(MV) record.i.obj record.obj
	$(RM) record.i.c

sequence.i : sequence.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) sequence.c > sequence.i

sequence.s : sequence.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) sequence.c > sequence.i.c
	$(CC) $(CFLAGS) -c sequence.i.c /FAs /Fasequence.s
	$(RM) sequence.i.obj
	$(RM) sequence.i.c

sequence.obj : sequence.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) sequence.c > sequence.i.c
	$(CC) $(CFLAGS) -c sequence.i.c
	$(RM) sequence.obj
	$(MV) sequence.i.obj sequence.obj
	$(RM) sequence.i.c

charstrg.i : charstrg.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c uni_upcase.c uni_downcase.c uni_attribute.c uninames.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) charstrg.c > charstrg.i

charstrg.s : charstrg.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c uni_upcase.c uni_downcase.c uni_attribute.c uninames.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) charstrg.c > charstrg.i.c
	$(CC) $(CFLAGS) -c charstrg.i.c /FAs /Facharstrg.s
	$(RM) charstrg.i.obj
	$(RM) charstrg.i.c

charstrg.obj : charstrg.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c uni_upcase.c uni_downcase.c uni_attribute.c uninames.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) charstrg.c > charstrg.i.c
	$(CC) $(CFLAGS) -c charstrg.i.c
	$(RM) charstrg.obj
	$(MV) charstrg.i.obj charstrg.obj
	$(RM) charstrg.i.c

debug.i : debug.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) debug.c > debug.i

debug.s : debug.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) debug.c > debug.i.c
	$(CC) $(CFLAGS) -c debug.i.c /FAs /Fadebug.s
	$(RM) debug.i.obj
	$(RM) debug.i.c

debug.obj : debug.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) debug.c > debug.i.c
	$(CC) $(CFLAGS) -c debug.i.c
	$(RM) debug.obj
	$(MV) debug.i.obj debug.obj
	$(RM) debug.i.c

error.i : error.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c errwin32.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) error.c > error.i

error.s : error.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c errwin32.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) error.c > error.i.c
	$(CC) $(CFLAGS) -c error.i.c /FAs /Faerror.s
	$(RM) error.i.obj
	$(RM) error.i.c

error.obj : error.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c errwin32.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) error.c > error.i.c
	$(CC) $(CFLAGS) -c error.i.c
	$(RM) error.obj
	$(MV) error.i.obj error.obj
	$(RM) error.i.c

misc.i : misc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) misc.c > misc.i

misc.s : misc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) misc.c > misc.i.c
	$(CC) $(CFLAGS) -c misc.i.c /FAs /Famisc.s
	$(RM) misc.i.obj
	$(RM) misc.i.c

misc.obj : misc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) misc.c > misc.i.c
	$(CC) $(CFLAGS) -c misc.i.c
	$(RM) misc.obj
	$(MV) misc.i.obj misc.obj
	$(RM) misc.i.c

time.i : time.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) time.c > time.i

time.s : time.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) time.c > time.i.c
	$(CC) $(CFLAGS) -c time.i.c /FAs /Fatime.s
	$(RM) time.i.obj
	$(RM) time.i.c

time.obj : time.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) time.c > time.i.c
	$(CC) $(CFLAGS) -c time.i.c
	$(RM) time.obj
	$(MV) time.i.obj time.obj
	$(RM) time.i.c

predtype.i : predtype.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c avl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) predtype.c > predtype.i

predtype.s : predtype.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c avl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) predtype.c > predtype.i.c
	$(CC) $(CFLAGS) -c predtype.i.c /FAs /Fapredtype.s
	$(RM) predtype.i.obj
	$(RM) predtype.i.c

predtype.obj : predtype.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c avl.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) predtype.c > predtype.i.c
	$(CC) $(CFLAGS) -c predtype.i.c
	$(RM) predtype.obj
	$(MV) predtype.i.obj predtype.obj
	$(RM) predtype.i.c

symbol.i : symbol.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) symbol.c > symbol.i

symbol.s : symbol.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) symbol.c > symbol.i.c
	$(CC) $(CFLAGS) -c symbol.i.c /FAs /Fasymbol.s
	$(RM) symbol.i.obj
	$(RM) symbol.i.c

symbol.obj : symbol.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) symbol.c > symbol.i.c
	$(CC) $(CFLAGS) -c symbol.i.c
	$(RM) symbol.obj
	$(MV) symbol.i.obj symbol.obj
	$(RM) symbol.i.c

lisparit.i : lisparit.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c aridecl.c arilev0.c arilev1.c intelem.c intlog.c intplus.c intcomp.c intbyte.c intmal.c intdiv.c intgcd.c int2adic.c intsqrt.c intprint.c intread.c rational.c sfloat.c ffloat.c dfloat.c lfloat.c flo_konv.c flo_rest.c realelem.c realrand.c realtran.c compelem.c comptran.c posixmath.c arilev1c.c arilev1e.c arilev1i.c ari80386.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) lisparit.c > lisparit.i

lisparit.s : lisparit.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c aridecl.c arilev0.c arilev1.c intelem.c intlog.c intplus.c intcomp.c intbyte.c intmal.c intdiv.c intgcd.c int2adic.c intsqrt.c intprint.c intread.c rational.c sfloat.c ffloat.c dfloat.c lfloat.c flo_konv.c flo_rest.c realelem.c realrand.c realtran.c compelem.c comptran.c posixmath.c arilev1c.c arilev1e.c arilev1i.c ari80386.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) lisparit.c > lisparit.i.c
	$(CC) $(CFLAGS) -c lisparit.i.c /FAs /Falisparit.s
	$(RM) lisparit.i.obj
	$(RM) lisparit.i.c

lisparit.obj : lisparit.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c aridecl.c arilev0.c arilev1.c intelem.c intlog.c intplus.c intcomp.c intbyte.c intmal.c intdiv.c intgcd.c int2adic.c intsqrt.c intprint.c intread.c rational.c sfloat.c ffloat.c dfloat.c lfloat.c flo_konv.c flo_rest.c realelem.c realrand.c realtran.c compelem.c comptran.c posixmath.c arilev1c.c arilev1e.c arilev1i.c ari80386.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) lisparit.c > lisparit.i.c
	$(CC) $(CFLAGS) -c lisparit.i.c
	$(RM) lisparit.obj
	$(MV) lisparit.i.obj lisparit.obj
	$(RM) lisparit.i.c

foreign.i : foreign.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h avcall.h callback.h
	$(CPP) $(CFLAGS) -I../ffcall foreign.c > foreign.i

foreign.s : foreign.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h avcall.h callback.h
	$(CPP) $(CFLAGS) -I../ffcall foreign.c > foreign.i.c
	$(CC) $(CFLAGS) -I../ffcall -c foreign.i.c /FAs /Faforeign.s
	$(RM) foreign.i.obj
	$(RM) foreign.i.c

foreign.obj : foreign.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c arilev0.c stdbool.h iconv.h sigsegv.h avcall.h callback.h
	$(CPP) $(CFLAGS) -I../ffcall foreign.c > foreign.i.c
	$(CC) $(CFLAGS) -I../ffcall -c foreign.i.c
	$(RM) foreign.obj
	$(MV) foreign.i.obj foreign.obj
	$(RM) foreign.i.c

win32aux.i : win32aux.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) win32aux.c > win32aux.i

win32aux.s : win32aux.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) win32aux.c > win32aux.i.c
	$(CC) $(CFLAGS) -c win32aux.i.c /FAs /Fawin32aux.s
	$(RM) win32aux.i.obj
	$(RM) win32aux.i.c

win32aux.obj : win32aux.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) win32aux.c > win32aux.i.c
	$(CC) $(CFLAGS) -c win32aux.i.c
	$(RM) win32aux.obj
	$(MV) win32aux.i.obj win32aux.obj
	$(RM) win32aux.i.c

posixmisc.i : posixmisc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) posixmisc.c > posixmisc.i

posixmisc.s : posixmisc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) posixmisc.c > posixmisc.i.c
	$(CC) $(CFLAGS) -c posixmisc.i.c /FAs /Faposixmisc.s
	$(RM) posixmisc.i.obj
	$(RM) posixmisc.i.c

posixmisc.obj : posixmisc.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) posixmisc.c > posixmisc.i.c
	$(CC) $(CFLAGS) -c posixmisc.i.c
	$(RM) posixmisc.obj
	$(MV) posixmisc.i.obj posixmisc.obj
	$(RM) posixmisc.i.c

dirkey.i : dirkey.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) dirkey.c > dirkey.i

dirkey.s : dirkey.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) dirkey.c > dirkey.i.c
	$(CC) $(CFLAGS) -c dirkey.i.c /FAs /Fadirkey.s
	$(RM) dirkey.i.obj
	$(RM) dirkey.i.c

dirkey.obj : dirkey.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) dirkey.c > dirkey.i.c
	$(CC) $(CFLAGS) -c dirkey.i.c
	$(RM) dirkey.obj
	$(MV) dirkey.i.obj dirkey.obj
	$(RM) dirkey.i.c

genclisph.i : genclisph.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) genclisph.c > genclisph.i

genclisph.s : genclisph.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) genclisph.c > genclisph.i.c
	$(CC) $(CFLAGS) -c genclisph.i.c /FAs /Fagenclisph.s
	$(RM) genclisph.i.obj
	$(RM) genclisph.i.c

genclisph.obj : genclisph.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) genclisph.c > genclisph.i.c
	$(CC) $(CFLAGS) -c genclisph.i.c
	$(RM) genclisph.obj
	$(MV) genclisph.i.obj genclisph.obj
	$(RM) genclisph.i.c

modules.i : modules.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h modules.h
	$(CPP) $(CFLAGS) -DNO_CLISP_H modules.c > modules.i

modules.s : modules.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h modules.h
	$(CPP) $(CFLAGS) -DNO_CLISP_H modules.c > modules.i.c
	$(CC) $(CFLAGS) -DNO_CLISP_H -c modules.i.c /FAs /Famodules.s
	$(RM) modules.i.obj
	$(RM) modules.i.c

modules.obj : modules.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h modules.h
	$(CPP) $(CFLAGS) -DNO_CLISP_H modules.c > modules.i.c
	$(CC) $(CFLAGS) -DNO_CLISP_H -c modules.i.c
	$(RM) modules.obj
	$(MV) modules.i.obj modules.obj
	$(RM) modules.i.c

noreadline.i : noreadline.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) noreadline.c > noreadline.i

noreadline.s : noreadline.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) noreadline.c > noreadline.i.c
	$(CC) $(CFLAGS) -c noreadline.i.c /FAs /Fanoreadline.s
	$(RM) noreadline.i.obj
	$(RM) noreadline.i.c

noreadline.obj : noreadline.c lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h
	$(CPP) $(CFLAGS) noreadline.c > noreadline.i.c
	$(CC) $(CFLAGS) -c noreadline.i.c
	$(RM) noreadline.obj
	$(MV) noreadline.i.obj noreadline.obj
	$(RM) noreadline.i.c

ari80386.i : ari80386.msvc.c
	$(CPP) $(CFLAGS) ari80386.msvc.c > ari80386.i

ari80386.s : ari80386.msvc.c
	$(CPP) $(CFLAGS) ari80386.msvc.c > ari80386.i.c
	$(CC) $(CFLAGS) -c ari80386.i.c /FAs /Faari80386.s
	$(RM) ari80386.i.obj
	$(RM) ari80386.i.c

ari80386.obj : ari80386.msvc.c
	$(CPP) $(CFLAGS) ari80386.msvc.c > ari80386.i.c
	$(CC) $(CFLAGS) -c ari80386.i.c
	$(RM) ari80386.obj
	$(MV) ari80386.i.obj ari80386.obj
	$(RM) ari80386.i.c

sp80386.i : sp80386.msvc.c
	$(CPP) $(CFLAGS) sp80386.msvc.c > sp80386.i

sp80386.s : sp80386.msvc.c
	$(CPP) $(CFLAGS) sp80386.msvc.c > sp80386.i.c
	$(CC) $(CFLAGS) -c sp80386.i.c /FAs /Fasp80386.s
	$(RM) sp80386.i.obj
	$(RM) sp80386.i.c

sp80386.obj : sp80386.msvc.c
	$(CPP) $(CFLAGS) sp80386.msvc.c > sp80386.i.c
	$(CC) $(CFLAGS) -c sp80386.i.c
	$(RM) sp80386.obj
	$(MV) sp80386.i.obj sp80386.obj
	$(RM) sp80386.i.c

avcall.h : ..\ffcall\avcall\avcall.h
	-$(LN_S) ..\ffcall\avcall\avcall.h avcall.h

avcall.lib : ..\ffcall\avcall\avcall.lib
	-$(LN_S) ..\ffcall\avcall\avcall.lib avcall.lib

callback.h : ..\ffcall\callback\callback.h
	-$(LN_S) ..\ffcall\callback\callback.h callback.h
	-$(LN_S) ..\ffcall\callback\vacall_r.h vacall_r.h
	-$(LN_S) ..\ffcall\callback\trampoline_r.h trampoline_r.h

callback.lib : ..\ffcall\callback\callback.lib
	-$(LN_S) ..\ffcall\callback\callback.lib callback.lib

iconv.h : ..\libiconv\include\iconv.h
	-$(LN_S) ..\libiconv\include\iconv.h iconv.h

iconv.lib : ..\libiconv\lib\iconv.lib
	-$(LN_S) ..\libiconv\lib\iconv.lib iconv.lib

libcharset.h : ..\libiconv\libcharset\include\libcharset.h
	-$(LN_S) ..\libiconv\libcharset\include\libcharset.h libcharset.h

sigsegv.h : ..\sigsegv\sigsegv.h
	-$(LN_S) ..\sigsegv\sigsegv.h sigsegv.h

sigsegv.lib : ..\sigsegv\sigsegv.lib
	-$(LN_S) ..\sigsegv\sigsegv.lib sigsegv.lib

UnicodeData.txt :
	$(LN_S) ..\utils\unicode\ftp.unicode.org\UnicodeData.txt UnicodeData.txt

lisp.exe : $(OBJECTS) modules.obj avcall.lib callback.lib    iconv.lib sigsegv.lib UnicodeData.txt
	$(RM) lisp.ilk
	$(CC) $(CFLAGS) $(CLFLAGS) $(OBJECTS) modules.obj $(LIBS) /link /out:lisp.exe
	editbin /stack:3145728 lisp.exe


alllisp : $(LISPFILES)

config.lisp : cfgwin32.lisp
	$(CP) cfgwin32.lisp config.lisp

interpreted.mem : lisp.exe $(LISPFILES)
	-$(RM) interpreted.mem
	lisp.exe -m 750KW -B . -Efile UTF-8 -norc -x "(load \"init.lisp\") (sys::%%saveinitmem) (exit)"
	$(MV) lispimag.mem interpreted.mem

init.fas : init.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c init.lisp

defseq.fas : defseq.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c defseq.lisp

backquote.fas : backquote.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c backquote.lisp

defmacro.fas : defmacro.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c defmacro.lisp

macros1.fas : macros1.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c macros1.lisp

macros2.fas : macros2.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c macros2.lisp

defs1.fas : defs1.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c defs1.lisp

timezone.fas : timezone.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c timezone.lisp

places.fas : places.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c places.lisp

floatprint.fas : floatprint.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c floatprint.lisp

type.fas : type.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c type.lisp

defstruct.fas : defstruct.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c defstruct.lisp

format.fas : format.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c format.lisp

savemem.fas : savemem.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c savemem.lisp

trace.fas : trace.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c trace.lisp

compiler.fas : compiler.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c compiler.lisp

disassem.fas : disassem.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c disassem.lisp

defs2.fas : defs2.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c defs2.lisp

loop.fas : loop.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c loop.lisp

clos.fas : clos.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c clos.lisp

condition.fas : condition.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c condition.lisp

gstream.fas : gstream.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c gstream.lisp

xcharin.fas : xcharin.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c xcharin.lisp

keyboard.fas : keyboard.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c keyboard.lisp

screen.fas : screen.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c screen.lisp

beossock.fas : beossock.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c beossock.lisp

runprog.fas : runprog.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c runprog.lisp

query.fas : query.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c query.lisp

reploop.fas : reploop.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c reploop.lisp

dribble.fas : dribble.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c dribble.lisp

complete.fas : complete.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c complete.lisp

describe.fas : describe.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c describe.lisp

room.fas : room.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c room.lisp

edit.fas : edit.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c edit.lisp

macros3.fas : macros3.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c macros3.lisp

posix.fas : posix.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c posix.lisp

foreign1.fas : foreign1.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c foreign1.lisp

defs3.fas : defs3.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c defs3.lisp

clhs.fas : clhs.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c clhs.lisp

inspect.fas : inspect.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c inspect.lisp

german.fas : german.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c german.lisp

french.fas : french.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c french.lisp

spanish.fas : spanish.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c spanish.lisp

dutch.fas : dutch.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c dutch.lisp

config.fas : config.lisp lisp.exe interpreted.mem
	lisp.exe -m 1000KW -M interpreted.mem -B . -Efile UTF-8 -norc -q -c config.lisp

halfcompiled.mem : lisp.exe $(LISPFILES) compiler.fas
	-$(RM) interpreted.mem
	lisp.exe -m 750KW -B . -Efile UTF-8 -norc -x "(load \"init.lisp\") (sys::%%saveinitmem) (exit)"
	$(MV) lispimag.mem interpreted.mem
	$(TOUCH) interpreted.mem
	$(TOUCH) compiler.fas
	$(TOUCH) halfcompiled.mem

lispinit.mem : lisp.exe $(FASFILES)
	-$(RM) lispinit.mem
	lisp.exe -B . -Efile UTF-8 -norc -x "(load \"init.fas\") (sys::%%saveinitmem) (exit)"
	$(MV) lispimag.mem lispinit.mem


# Perform self-tests.
check : test

# Test: recompile $(LISPFILES) and compare their contents.
test : lispinit.mem stage $(TESTLISPFILES) $(TESTFASFILES)
	comp *.fas stage
	REM The test passed if no differences were found.

stage :
	-mkdir stage

stage\init.lisp : init.lisp
	$(LN_S) init.lisp stage

stage\defseq.lisp : defseq.lisp
	$(LN_S) defseq.lisp stage

stage\backquote.lisp : backquote.lisp
	$(LN_S) backquote.lisp stage

stage\defmacro.lisp : defmacro.lisp
	$(LN_S) defmacro.lisp stage

stage\macros1.lisp : macros1.lisp
	$(LN_S) macros1.lisp stage

stage\macros2.lisp : macros2.lisp
	$(LN_S) macros2.lisp stage

stage\defs1.lisp : defs1.lisp
	$(LN_S) defs1.lisp stage

stage\timezone.lisp : timezone.lisp
	$(LN_S) timezone.lisp stage

stage\places.lisp : places.lisp
	$(LN_S) places.lisp stage

stage\floatprint.lisp : floatprint.lisp
	$(LN_S) floatprint.lisp stage

stage\type.lisp : type.lisp
	$(LN_S) type.lisp stage

stage\defstruct.lisp : defstruct.lisp
	$(LN_S) defstruct.lisp stage

stage\format.lisp : format.lisp
	$(LN_S) format.lisp stage

stage\savemem.lisp : savemem.lisp
	$(LN_S) savemem.lisp stage

stage\trace.lisp : trace.lisp
	$(LN_S) trace.lisp stage

stage\compiler.lisp : compiler.lisp
	$(LN_S) compiler.lisp stage

stage\disassem.lisp : disassem.lisp
	$(LN_S) disassem.lisp stage

stage\defs2.lisp : defs2.lisp
	$(LN_S) defs2.lisp stage

stage\loop.lisp : loop.lisp
	$(LN_S) loop.lisp stage

stage\clos.lisp : clos.lisp
	$(LN_S) clos.lisp stage

stage\condition.lisp : condition.lisp
	$(LN_S) condition.lisp stage

stage\gstream.lisp : gstream.lisp
	$(LN_S) gstream.lisp stage

stage\xcharin.lisp : xcharin.lisp
	$(LN_S) xcharin.lisp stage

stage\keyboard.lisp : keyboard.lisp
	$(LN_S) keyboard.lisp stage

stage\screen.lisp : screen.lisp
	$(LN_S) screen.lisp stage

stage\beossock.lisp : beossock.lisp
	$(LN_S) beossock.lisp stage

stage\runprog.lisp : runprog.lisp
	$(LN_S) runprog.lisp stage

stage\query.lisp : query.lisp
	$(LN_S) query.lisp stage

stage\reploop.lisp : reploop.lisp
	$(LN_S) reploop.lisp stage

stage\dribble.lisp : dribble.lisp
	$(LN_S) dribble.lisp stage

stage\complete.lisp : complete.lisp
	$(LN_S) complete.lisp stage

stage\describe.lisp : describe.lisp
	$(LN_S) describe.lisp stage

stage\room.lisp : room.lisp
	$(LN_S) room.lisp stage

stage\edit.lisp : edit.lisp
	$(LN_S) edit.lisp stage

stage\macros3.lisp : macros3.lisp
	$(LN_S) macros3.lisp stage

stage\posix.lisp : posix.lisp
	$(LN_S) posix.lisp stage

stage\foreign1.lisp : foreign1.lisp
	$(LN_S) foreign1.lisp stage

stage\defs3.lisp : defs3.lisp
	$(LN_S) defs3.lisp stage

stage\clhs.lisp : clhs.lisp
	$(LN_S) clhs.lisp stage

stage\inspect.lisp : inspect.lisp
	$(LN_S) inspect.lisp stage

stage\german.lisp : german.lisp
	$(LN_S) german.lisp stage

stage\french.lisp : french.lisp
	$(LN_S) french.lisp stage

stage\spanish.lisp : spanish.lisp
	$(LN_S) spanish.lisp stage

stage\dutch.lisp : dutch.lisp
	$(LN_S) dutch.lisp stage

stage\config.lisp : config.lisp
	$(LN_S) config.lisp stage

stage\init.fas : stage\init.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/init.lisp

stage\defseq.fas : stage\defseq.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/defseq.lisp

stage\backquote.fas : stage\backquote.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/backquote.lisp

stage\defmacro.fas : stage\defmacro.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/defmacro.lisp

stage\macros1.fas : stage\macros1.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/macros1.lisp

stage\macros2.fas : stage\macros2.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/macros2.lisp

stage\defs1.fas : stage\defs1.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/defs1.lisp

stage\timezone.fas : stage\timezone.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/timezone.lisp

stage\places.fas : stage\places.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/places.lisp

stage\floatprint.fas : stage\floatprint.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/floatprint.lisp

stage\type.fas : stage\type.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/type.lisp

stage\defstruct.fas : stage\defstruct.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/defstruct.lisp

stage\format.fas : stage\format.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/format.lisp

stage\savemem.fas : stage\savemem.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/savemem.lisp

stage\trace.fas : stage\trace.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/trace.lisp

stage\compiler.fas : stage\compiler.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/compiler.lisp

stage\disassem.fas : stage\disassem.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/disassem.lisp

stage\defs2.fas : stage\defs2.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/defs2.lisp

stage\loop.fas : stage\loop.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/loop.lisp

stage\clos.fas : stage\clos.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/clos.lisp

stage\condition.fas : stage\condition.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/condition.lisp

stage\gstream.fas : stage\gstream.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/gstream.lisp

stage\xcharin.fas : stage\xcharin.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/xcharin.lisp

stage\keyboard.fas : stage\keyboard.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/keyboard.lisp

stage\screen.fas : stage\screen.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/screen.lisp

stage\beossock.fas : stage\beossock.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/beossock.lisp

stage\runprog.fas : stage\runprog.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/runprog.lisp

stage\query.fas : stage\query.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/query.lisp

stage\reploop.fas : stage\reploop.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/reploop.lisp

stage\dribble.fas : stage\dribble.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/dribble.lisp

stage\complete.fas : stage\complete.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/complete.lisp

stage\describe.fas : stage\describe.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/describe.lisp

stage\room.fas : stage\room.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/room.lisp

stage\edit.fas : stage\edit.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/edit.lisp

stage\macros3.fas : stage\macros3.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/macros3.lisp

stage\posix.fas : stage\posix.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/posix.lisp

stage\foreign1.fas : stage\foreign1.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/foreign1.lisp

stage\defs3.fas : stage\defs3.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/defs3.lisp

stage\clhs.fas : stage\clhs.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/clhs.lisp

stage\inspect.fas : stage\inspect.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/inspect.lisp

stage\german.fas : stage\german.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/german.lisp

stage\french.fas : stage\french.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/french.lisp

stage\spanish.fas : stage\spanish.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/spanish.lisp

stage\dutch.fas : stage\dutch.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/dutch.lisp

stage\config.fas : stage\config.lisp lisp.exe lispinit.mem
	lisp.exe -M lispinit.mem -B . -Efile UTF-8 -norc -q -c stage/config.lisp

lispinit2.mem : lisp.exe $(TESTFASFILES)
	lisp.exe -B . -Efile UTF-8 -norc -x "(cd \"stage/\") (load \"init.fas\") (cd \"../\") (sys::%%saveinitmem) (exit)"
	-$(RM) lispinit2.mem
	$(MV) lispimag.mem lispinit2.mem


READMES = ANNOUNCE COPYRIGHT GNU-GPL SUMMARY NEWS README README.de README.es
MANUALS = clisp.1 clisp.html $(TXTFILES) impnotes.html clisp.gif

impnotes.html : ../doc/impnotes.html
	$(CP) ../doc/impnotes.html impnotes.html

manual : $(READMES) $(MANUALS)

manualx : manual clisp.man clisp.dvi

ANNOUNCE : ..\ANNOUNCE
	-$(LN_S) ..\ANNOUNCE ANNOUNCE

COPYRIGHT : ..\COPYRIGHT
	-$(LN_S) ..\COPYRIGHT COPYRIGHT

GNU-GPL : ..\GNU-GPL
	-$(LN_S) ..\GNU-GPL GNU-GPL

SUMMARY : ..\SUMMARY
	-$(LN_S) ..\SUMMARY SUMMARY

README : _README lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h _README.de _README.en txt2c.exe
	$(TXT2C) < _README > txt.c
	$(CPP) $(CFLAGS) txt.c > txt.i.c
	$(CC) $(CFLAGS) $(CLFLAGS) txt.i.c /Fetxt.exe
	$(RM) txt.i.c
	$(RM) txt.i.obj
	txt > README
	$(RM) txt.c
	$(RM) txt.exe

README.de : _README.de lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _README.de > txt.c
	$(CPP) $(CFLAGS) txt.c > txt.i.c
	$(CC) $(CFLAGS) $(CLFLAGS) txt.i.c /Fetxt.exe
	$(RM) txt.i.c
	$(RM) txt.i.obj
	txt > README.de
	$(RM) txt.c
	$(RM) txt.exe

README.es : _README.es lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _README.es > txt.c
	$(CPP) $(CFLAGS) txt.c > txt.i.c
	$(CC) $(CFLAGS) $(CLFLAGS) txt.i.c /Fetxt.exe
	$(RM) txt.i.c
	$(RM) txt.i.obj
	txt > README.es
	$(RM) txt.c
	$(RM) txt.exe

clisp.1 : _clisp.1 lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _clisp.1 > txt.c
	$(CPP) $(CFLAGS) txt.c > txt.i.c
	$(CC) $(CFLAGS) $(CLFLAGS) txt.i.c /Fetxt.exe
	$(RM) txt.i.c
	$(RM) txt.i.obj
	txt > clisp.1
	$(RM) txt.c
	$(RM) txt.exe

clisp.html : _clisp.html lispbibl.c fsubr.c subr.c pseudofun.c constsym.c constobj.c win32.c xthread.c stdbool.h iconv.h sigsegv.h txt2c.exe
	$(TXT2C) < _clisp.html > txt.c
	$(CPP) $(CFLAGS) txt.c > txt.i.c
	$(CC) $(CFLAGS) $(CLFLAGS) txt.i.c /Fetxt.exe
	$(RM) txt.i.c
	$(RM) txt.i.obj
	txt > clisp.html
	$(RM) txt.c
	$(RM) txt.exe

clisp.dvi : clisp.1
	$(ROFF_DVI) clisp.1 > clisp.dvi

clisp.man : clisp.1
	$(ROFF_MAN) clisp.1 > clisp.man

LISP-tutorial.txt : ..\doc\LISP-tutorial.txt
	-$(LN_S) ..\doc\LISP-tutorial.txt LISP-tutorial.txt

CLOS-guide.txt : ..\doc\CLOS-guide.txt
	-$(LN_S) ..\doc\CLOS-guide.txt CLOS-guide.txt

editors.txt : ..\doc\editors.txt
	-$(LN_S) ..\doc\editors.txt editors.txt


# Distribution, to be executed on a Unix host or using Cygwin.
distrib : force
	nroff -man clisp.1 > clisp.man
	sed -e 's,HREF="CLHSROOT/,HREF="http://www.lisp.org/HyperSpec/,' < clisp.html > clisp.html.new
	mv clisp.html.new clisp.html
	version=`cat VERSION` ; \
	distdir=clisp-$$version ; \
	distfile=/tmp/clisp-win32.zip ; \
	mkdir $$distdir ; \
	for f in ANNOUNCE COPYRIGHT GNU-GPL SUMMARY NEWS README README.de README.es ; do \
	  if test -f $$f ; then cp -p $$f $$distdir/$$f ; else cp -p `echo $$f | tr '[A-Z]' '[a-z]'` $$distdir/$$f ; fi ; \
	done ; \
	for f in lisp.exe lispinit.mem ; do \
	  cp -p $$f $$distdir/$$f ; \
	done ; \
	mkdir $$distdir/doc ; \
	for f in clisp.1 clisp.man clisp.html $(TXTFILES) impnotes.html clisp.gif ; do \
	  if test -f $$f ; then cp -p $$f $$distdir/doc/$$f ; else cp -p `echo $$f | tr '[A-Z]' '[a-z]'` $$distdir/doc/$$f ; fi ; \
	done ; \
	mkdir $$distdir/src ; \
	cp -p $(LISPFILES) $$distdir/src/ ; \
	chmod 755 $$distdir/. $$distdir/*/. ; \
	chmod 644 `find $$distdir -type f -print` ; \
	rm -f $$distfile ; \
	(echo "CLISP version $$version for Win32."; echo ".") | zip -r -9 -z $$distfile $$distdir ; \
	rm -rf $$distdir

# clean0 is harmless: removes only superfluous things: temporary files.
clean0 : force
	-$(RM) core ansidecl.c varbrace.c ccmp2c.c modprep.c genclisph.exe wgenclisph.exe linkkit txt.c txt.exe txt.i.c

# clean1 removes everything that becomes obsolete once lisp.exe is recompiled
# without changing the bytecode format and the tables in
# constobj.d, constpack.d, constsym.d, subr.d, fsubr.d, pseudofun.d.
clean1 : clean0
	-$(RM) lispbibl.h clisp.h *.i *.s *.obj *.a lisp.exe clisp-link makevars stage/* suite/*
	-$(RM) sigsegv.lib iconv.lib avcall.lib callback.lib
	-rmdir stage
	-rmdir suite
	-$(RM) README README.de README.es clisp.1 clisp.man clisp.dvi clisp.html impnotes.html clisp.c distmakefile $(TXTFILES) clreadline.3 clreadline.man clreadline.html clreadline.dvi readline.dvi

# clean2 removes everything that becomes obsolete once lisp.exe is recompiled
# without changing the bytecode format.
clean2 : clean1
	-$(RM) interpreted.mem halfcompiled.mem lispinit.mem lispinit2.mem

# clean3 removes everything that becomes obsolete once lisp.exe is recompiled.
# It leaves everything generated by "make allc".
clean3 : clean2
	-$(RM) $(FASFILES) *.lib

# clean4 removes everything that becomes obsolete
# when switching to a new version of the C compiler.
# It leaves everything generated by "make init".
clean4 : clean3
	-$(RM) $(CFILES)
	-$(RM) avcall.h
	-$(RM) callback.h vacall_r.h trampoline_r.h
	-$(RM) iconv.h
	-$(RM) sigsegv.h
	-$(RM) stdbool.h

# clean5 even undoes "make init".
clean5 : clean4
	-$(RM) ANNOUNCE COPYRIGHT GNU-GPL SUMMARY
	-$(RM) config.lisp
	-$(RM) comment5.exe ansidecl.exe ccpaux.exe deema.exe txt2c.exe ccmp2c.exe modprep.exe

# clean6 lets us go back to "makemake > Makefile".
clean6 : clean5
	-$(RM) Makefile

# clean7 lets us go back to the main "configure".
clean7 : clean6
	-$(RM) config.status config.log config.cache intparam.h unixconf.h makemake

# clean8 moreover cleans up the SRCDIR.
clean8 : clean7

# The normal "start over" command:
mostlyclean : clean4

# Clear all files that are built by "make ...":
clean : clean5

# Make "clear for distribution":
distclean : clean7

# Remove everything that can be generated otherwise:
maintainer-clean : clean8


.SUFFIXES:

force:

