[Openmcl-cvs-notifications] r10728 - in /trunk/source/lisp-kernel/linuxx8632: ./ Makefile
gb at clozure.com
gb at clozure.com
Sat Sep 13 03:14:15 EDT 2008
Author: gb
Date: Sat Sep 13 03:14:15 2008
New Revision: 10728
Log:
New file. Kernel compiles and links on 32-bit x86 Linux; hard to
test much until we have a heap image.
Added:
trunk/source/lisp-kernel/linuxx8632/
trunk/source/lisp-kernel/linuxx8632/Makefile
Added: trunk/source/lisp-kernel/linuxx8632/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/linuxx8632/Makefile (added)
+++ trunk/source/lisp-kernel/linuxx8632/Makefile Sat Sep 13 03:14:15 2008
@@ -1,0 +1,85 @@
+#
+# Copyright (C) 2008 Clozure Associates and contributors
+# This file is part of Clozure CL. =
+#
+# Clozure CL is licensed under the terms of the Lisp Lesser GNU Public
+# License , known as the LLGPL and distributed with Clozure CL as the
+# file "LICENSE". The LLGPL consists of a preamble and the LGPL,
+# which is distributed with Clozure CL as the file "LGPL". Where these
+# conflict, the preamble takes precedence. =
+#
+# Clozure CL is referenced in the preamble as the "LIBRARY."
+#
+# The LLGPL is also available online at
+# http://opensource.franz.com/preamble.html
+
+
+VPATH =3D ../
+RM =3D /bin/rm
+AS =3D as
+M4 =3D m4
+ASFLAGS =3D --32
+M4FLAGS =3D -DLINUX -DX86 -DX8632 -DHAVE_TLS
+CDEFINES =3D -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -=
DUSE_FUTEX #-DDISABLE_EGC
+CDEBUG =3D -g
+COPT =3D #-O2
+
+# If the linker supports a "--hash-style=3D" option, use traditional
+# SysV hash tables. (If it doesn't support that option, assume
+# that traditional hash tables will be used by default.)
+ld_has_hash_style =3D $(shell $(LD) --help | grep "hash-style=3D")
+ifeq ($(ld_has_hash_style),)
+HASH_STYLE=3D
+else
+HASH_STYLE=3D"-Wl,--hash-style=3Dsysv"
+endif
+
+
+.s.o:
+ $(M4) $(M4FLAGS) -I../ $< | $(AS) $(ASFLAGS) -o $@
+.c.o:
+ $(CC) -c $< $(CDEFINES) $(CDEBUG) $(COPT) -m32 -o $@
+
+SPOBJ =3D pad.o x86-spjump32.o x86-spentry32.o x86-subprims32.o
+ASMOBJ =3D x86-asmutils32.o imports.o
+
+COBJ =3D pmcl-kernel.o gc-common.o x86-gc.o bits.o x86-exceptions.o \
+ image.o thread_manager.o lisp-debug.o memory.o unix-calls.o
+
+DEBUGOBJ =3D lispdcmd.o plprint.o plsym.o xlbt.o x86_print.o
+KERNELOBJ=3D $(COBJ) x86-asmutils32.o imports.o
+
+SPINC =3D lisp.s m4macros.m4 x86-constants.s x86-macros.s errors.s x86-uuo=
.s \
+ x86-constants32.s
+
+CHEADERS =3D area.h bits.h x86-constants.h lisp-errors.h gc.h lisp.h \
+ lisp-exceptions.h lisp_globals.h macros.h memprotect.h image.h \
+ Threads.h x86-constants32.h x86-exceptions.h lisptypes.h
+
+
+KSPOBJ =3D $(SPOBJ)
+all: ../../lx86cl
+
+
+OSLIBS =3D -ldl -lm -lpthread
+LINK_SCRIPT =3D # ./elf_x86_32.x
+USE_LINK_SCRIPT =3D # -T $(LINK_SCRIPT)
+
+../../lx86cl: $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) Makefile $(LINK_SCRIPT)
+ $(CC) -m32 $(CDEBUG) -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LIN=
K_SCRIPT) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
+
+
+$(SPOBJ): $(SPINC)
+$(ASMOBJ): $(SPINC)
+$(COBJ): $(CHEADERS)
+$(DEBUGOBJ): $(CHEADERS) lispdcmd.h
+
+
+cclean:
+ $(RM) -f $(KERNELOBJ) $(DEBUGOBJ) ../../lx86cl
+
+clean: cclean
+ $(RM) -f $(SPOBJ)
+
+strip: ../../lx86cl
+ strip -g ../../lx86cl
More information about the Openmcl-cvs-notifications
mailing list