[Openmcl-cvs-notifications] r14570 - /trunk/source/lisp-kernel/androidarm/Makefile
gb at clozure.com
gb at clozure.com
Mon Jan 10 02:08:53 CST 2011
Author: gb
Date: Mon Jan 10 02:08:53 2011
New Revision: 14570
Log:
Build the lisp kernel as a shared library; build some aux programs
here.
Modified:
trunk/source/lisp-kernel/androidarm/Makefile
Modified: trunk/source/lisp-kernel/androidarm/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/androidarm/Makefile (original)
+++ trunk/source/lisp-kernel/androidarm/Makefile Mon Jan 10 02:08:53 2011
@@ -13,6 +13,7 @@
# The LLGPL is also available online at
# http://opensource.franz.com/preamble.html
=
+LIBBASE =3D 0x04001000
NDK =3D /usr/local/android-ndk-r5
HOST =3D darwin-x86
ANDROIDVERSION =3D android-8
@@ -26,17 +27,17 @@
AS =3D $(NDKBIN)as
CC =3D $(NDKBIN)gcc --sysroot $(SYSROOT)
LD =3D $(NDKBIN)ld
+HOSTCC =3D cc -m32
M4 =3D m4
ASFLAGS =3D -mfpu=3Dvfp
-M4FLAGS =3D -DLINUX -DARM -DANDROID
-CDEFINES =3D -DLINUX -DARM -DANDROID -D_REENTRANT -D_GNU_SOURCE -DUSE_FUTEX
+M4FLAGS =3D -DLINUX -DARM -DANDROID -DLIBBASE=3D$(LIBBASE)
+CDEFINES =3D -DLINUX -DARM -DANDROID -D_REENTRANT -D_GNU_SOURCE -DUSE_FUTE=
X -DCCLSHARED
CDEBUG =3D -g
COPT =3D #-O2
# Once in a while, -Wformat says something useful. The odds are against t=
hat,
# however.
WFORMAT =3D -Wno-format
PLATFORM_H =3D platform-androidarm.h
-
=
# If the linker supports a "--hash-style=3D" option, use traditional
# Sysv hash tables. (If it doesn't support that option, assume
@@ -53,10 +54,12 @@
.s.o:
$(M4) $(M4FLAGS) -I../ $< | $(AS) $(ASFLAGS) -o $@
.c.o:
- $(CC) -include ../$(PLATFORM_H) -I. -I$(NDKINC) -c $< $(CDEFINES) $(CDEB=
UG) $(COPT) -fpic $(WFORMAT) -o $@
+ $(CC) -include ../$(PLATFORM_H) -I. -I$(NDKINC) -c $< $(CDEFINES) $(CDEB=
UG) $(COPT) $(WFORMAT) -fpic -o $@
+
=
# -nostdinc -isystem ${NDK}/usr/gcc-include -isystem $(NDK)/usr/include
-SPOBJ =3D pad.o arm-spentry.o arm-subprims.o
+SPOBJ =3D pad.o arm-spentry.o =
+#arm-subprims.o
ASMOBJ =3D arm-asmutils.o imports.o
=
COBJ =3D pmcl-kernel.o gc-common.o arm-gc.o bits.o arm-exceptions.o \
@@ -75,20 +78,29 @@
# Yes:
=
KSPOBJ =3D $(SPOBJ)
-all: ../../aarmcl
+all: ../../aarmcl.so ../../aarmcl
+
+aarmcl.o: aarmcl.c
+ $(CC) -g -I$(NDKINC) -c $< -fpic -o $@
=
# No:
=
# KSPOBJ=3D
# all: ../../armcl ../../subprims.so
=
-OSLIBS =3D -ldl -lm -lc $(NDKLIB)/crtbegin_dynamic.o $(NDKLIB)/crtend_andr=
oid.o
+OSLIBS =3D -ldl -lm -lc =
+APPLIBS =3D $(OSLIBS) $(NDKLIB)/crtbegin_dynamic.o $(NDKLIB)/crtend_androi=
d.o
=
=
-../../aarmcl: $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
- $(LD) -Bdynamic -e _start -dynamic-linker /system/bin/linker -nostdlib -=
z nocopyreloc -o ../../aarmcl -L $(NDKLIB) pad.o arm-spentry.o arm-subpri=
ms.o pmcl-kernel.o gc-common.o arm-gc.o bits.o arm-exceptions.o image.o thr=
ead_manager.o lisp-debug.o memory.o unix-calls.o arm-asmutils.o imports.o l=
ispdcmd.o plprint.o plsym.o albt.o arm_print.o $(OSLIBS) -T ./armandroid.x
+../../aarmcl.so: $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) ./armandroid.x ./fixlib
+ $(LD) --shared -Bdynamic -dynamic-linker /system/bin/linker -nostdlib -z =
nocopyreloc -o ../../aarmcl.so -L $(NDKLIB) pad.o arm-spentry.o pmcl-ker=
nel.o gc-common.o arm-gc.o bits.o arm-exceptions.o image.o thread_manager.o=
lisp-debug.o memory.o unix-calls.o arm-asmutils.o imports.o lispdcmd.o plp=
rint.o plsym.o albt.o arm_print.o $(OSLIBS) -T ./armandroid.x -M
+ ./fixlib $(LIBBASE) >> ../../aarmcl.so
=
+../../aarmcl: aarmcl.o
+ $(LD) -Bdynamic -e _start -dynamic-linker /system/bin/linker -nostdlib =
-z nocopyreloc -o ../../aarmcl -L $(NDKLIB) aarmcl.o $(APPLIBS)
=
+./fixlib: ./fixlib.c
+ $(HOSTCC) -g $< -o $@
=
$(SPOBJ): $(SPINC)
$(ASMOBJ): $(SPINC)
@@ -97,10 +109,8 @@
=
=
cclean:
- $(RM) -f $(KERNELOBJ) $(DEBUGOBJ) ../../aarmcl
+ $(RM) -f $(KERNELOBJ) $(DEBUGOBJ) ../../aarmcl ../../aarmcl.so ./fixlib
=
clean: cclean
$(RM) -f $(SPOBJ)
=
-strip: ../../ppccl
- strip -g ../../ppccl
More information about the Openmcl-cvs-notifications
mailing list