all:
	lisp -core /usr/lib/cmucl/naked-lisp.core -load do-build
	cp setenv-no-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core naked-lisp.core
	x86/lisp/lisp -core naked-lisp.core -load do-pcl
	cp setenv-with-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core pcl-lisp.core
	x86/lisp/lisp -core pcl-lisp.core -load do-clx-clm-hem.lisp

with-new:
	./x86/lisp/lisp -core new.core  -load do-build
	cp setenv-no-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	
l4:
	echo -e '(compile-file "nextgen/compiler/meta-vmdef.lisp") (compile-file "nextgen/compiler/generic/new-genesis.lisp") (quit)' | lisp -core /usr/lib/cmucl/naked-lisp.core
	echo -e '(in-package :common-lisp-user)(build-l2)' | lisp -core /usr/lib/cmucl/naked-lisp.core -load do-newcomp
	cp setenv-no-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs L2\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core L2.core
	make clean
	echo -e '(in-package :common-lisp-user)(build-l3)' | ./x86/lisp/lisp -core L2.core -load do-newcomp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs L3\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core L3.core
	make clean
	echo -e '(in-package :common-lisp-user)(build-l4)' | ./x86/lisp/lisp -core L3.core -load do-newcomp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs L4\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core L4.core
	make clean

after-l4:
	./x86/lisp/lisp -core L4.core -load do-build
	cp setenv-no-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core naked-lisp.core
	x86/lisp/lisp -core naked-lisp.core -load do-pcl
	cp setenv-with-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core pcl-lisp.core
	x86/lisp/lisp -core pcl-lisp.core -load do-clx-clm-hem.lisp

make-new:
	lisp -core /usr/lib/cmucl/naked-lisp.core -load do-build
	cp setenv-no-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core

no-libs:
	lisp -core /usr/lib/cmucl/naked-lisp.core -load do-build
	cp setenv-no-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core naked-lisp.core
	x86/lisp/lisp -core naked-lisp.core -load do-pcl
	cp setenv-with-pcl.lisp setenv.lisp
	echo -e '(in-package :common-lisp-user)(load "finish")\n18a x86-linux 1.4.0 cvs\n' | ./x86/lisp/lisp -core x86/lisp/kernel.core
	mv lisp.core pcl-lisp.core

install:
	mv pcl-lisp.core naked-lisp.core /usr/lib/cmucl/
	cp x86/lisp/kernel.core /usr/lib/cmucl/
	cp x86/lisp/lisp /usr/bin/
	cp x86/lisp/lisp.nm x86/lisp/lisp.map /usr/doc/cmucl/bin
	mv x86/clx/clx-library.x86f x86/interface/clm-library.x86f x86/hemlock/hemlock-library.x86f /usr/lib/cmucl/subsystems/

clean:
	find x86 -name "*.x86f" -or -name "*.lbytef" -or -name "*.assem" | xargs rm
	echo x86 is cleaned

real-clean:
	find x86 -name "*.x86f" -or -name "*.lbytef" -or -name "*.assem" | xargs rm
	(cd x86/lisp ; make clean)
	echo cmucl is REAL clean!

