(* @(#)MAKEFILE.LSP	3.10 11/29/85 *)

(SETQQ QP.SOURCE.FILE BOGUS)

(PUTDQ LOADWELL (NLAMBDA FILES (PROG (STREAM QP.SOURCE.FILE FORM)
    (DECLARE (SPECVARS QP.SOURCE.FILE))
    (FOR FILE IN FILES DO
	(SETQ QP.SOURCE.FILE (FILENAMEFIELD FILE 'NAME))
	(OR (MEMB QP.SOURCE.FILE FILELST)
	    (SETQ FILELST (CONS QP.SOURCE.FILE FILELST)))
	(SETQ STREAM (OPENSTREAM FILE (QUOTE INPUT)))
	(UNTIL (EQ (SETQ FORM (READ STREAM T)) (QUOTE STOP))
	    DO (EVAL FORM))
	(PRINT (CLOSEF STREAM))
    )
)))

(PUTDQ QP.LOAD (LAMBDA (X)
    (COND (X
	(LOAD? (QUOTE CMLSPECIALFORMS.DCOM))
	(LOAD? (QUOTE COMPILEBANG.DCOM))
	(LOADWELL UTIL.LSP BASIC.LSP VALUES.LSP PROCS.LSP
		LOAD.LSP PRIM.LSP CODE.LSP CELL.LSP
		TAGS.LSP BIND.LSP REGISTERS.LSP
		SELECT.LSP IO.LSP CHARTYPE.LSP INSTRS.LSP
		GC.LSP ASSERT.LSP ENV.LSP ERROR.LSP FINDARITY.LSP
		FINDDEFN.LSP FINDPRED.LSP FORMAT.LSP LINK.LSP
		SETUPMENU.LSP STATISTICS.LSP TELLEDITOR.LSP)
	(FILESLOAD INTERRUPTS.LSP SECURE.LSP TOPLEVEL.LSP)
    ))

    (LOADWELL INTERPRET.LSP DEBUG.LSP INDEX.LSP AMEM.LSP
		CALL.LSP CUT.LSP FAIL.LSP PUTWRITE.LSP
		GETREAD.LSP META.LSP LISP.LSP ARITH.LSP
		APROPOS.LSP SKEL.LSP)
    (QP.MAKE)
    (QP.INITIALIZE.PROLOG)
    (FILESLOAD SLOWPROLOG.DCOM)
))


(PUTDQ QP.LOAD.EVERYTHING (LAMBDA (PROLOGDIR COMPFLAG)
    (* "This function loads everything."
       "To build a system, load this file and "
       "call (QP.LOAD.EVERYTHING '<directory.of.Prolog.sources>)."
    *)
    (PROG NIL
	(CNDIR PROLOGDIR)		(* CHECK *)
	(* "That's where the Prolog files live." *)
	(FILESLOAD (SYSLOAD) PAGEHOLD)
	(SETQ PAGE.WAIT.SECONDS 2)
	(*  commented out for KOTO loading purposes
	    (FILESLOAD (SYSLOAD) INTERMEZZOPATCHES SYSEDIT))
	(FILESLOAD EXPORTS.ALL)
	(FILESLOAD OPCODES PUTIL)
	(FILESLOAD FILEBROWSER TEDIT SPY
	    SAMEDIR TCP TCPCHAT TCPFTP)
	(COND (COMPFLAG (QP.LOAD.DCOMS))
	      (T (QP.LOAD T))))))



(PUTDQ QP.MAKE (LAMBDA ()
    (FOR X IN (QUOTE (
	AMEM.LSP
	APROPOS.LSP
	ARITH.LSP
	ASSERT.LSP
	BASIC.LSP
	BIND.LSP
	CALL.LSP
	CELL.LSP
	CHARTYPE.LSP
	CODE.LSP
	CUT.LSP
	DEBUG.LSP
	ENV.LSP
	ERROR.LSP
	FAIL.LSP
	FINDARITY.LSP
	FINDDEFN.LSP
	FINDPRED.LSP
	FORMAT.LSP
	GC.LSP
	GETREAD.LSP
	INDEX.LSP
	INSTRS.LSP
	INTERPRET.LSP
	IO.LSP
	LINK.LSP
	LISP.LSP
	LOAD.LSP
	META.LSP
	PRIM.LSP
	PROCS.LSP
	PUTWRITE.LSP
	REGISTERS.LSP
	SELECT.LSP
	SETUPMENU.LSP
	SKEL.LSP
	STATISTICS.LSP
	TAGS.LSP
	TELLEDITOR.LSP
	UTIL.LSP))
     DO (MAKEFILE X (QUOTE (NEW FAST C ST)) ))
    (MAKEFILE (QUOTE VALUES.LSP) (QUOTE (NEW FAST)))
))

(PUTDQ QP.LOAD.DCOMS (LAMBDA ()
    (FOR X IN (QUOTE (
	CMLSPECIALFORMS.DCOM COMPILEBANG.DCOM
	UTIL.DCOM BASIC.DCOM LOAD.DCOM PROCS.DCOM
	PRIM.DCOM CODE.DCOM CELL.DCOM TAGS.DCOM BIND.DCOM
	REGISTERS.DCOM SELECT.DCOM IO.DCOM CHARTYPE.DCOM
	INSTRS.DCOM GC.DCOM ASSERT.DCOM ENV.DCOM ERROR.DCOM
	FINDARITY.DCOM FINDDEFN.DCOM FINDPRED.DCOM FORMAT.DCOM
	LINK.DCOM SETUPMENU.DCOM STATISTICS.DCOM TELLEDITOR.DCOM
	INTERPRET.DCOM DEBUG.DCOM INDEX.DCOM AMEM.DCOM CALL.DCOM
	CUT.DCOM FAIL.DCOM PUTWRITE.DCOM GETREAD.DCOM META.DCOM
	LISP.DCOM ARITH.DCOM APROPOS.DCOM SKEL.DCOM INTERRUPTS.DCOM
	SECURE.DCOM TOPLEVEL.DCOM SLOWPROLOG.DCOM))
    DO
	(LOAD? X)
    )
    (QP.INITIALIZE.PROLOG)
))


STOP