source: branches/arm/lisp-kernel/linuxarm/Makefile @ 14076

Last change on this file since 14076 was 14076, checked in by gb, 10 years ago

Don't disable EGC or enable integrity checks in the Makefile.
(Have been running this way for a week or so, with no observed
problems.)

File size: 2.7 KB
Line 
1#
2#   Copyright (C) 2010 Clozure Associates
3#   This file is part of Clozure CL. 
4#
5#   Clozure CL is licensed under the terms of the Lisp Lesser GNU Public
6#   License , known as the LLGPL and distributed with Clozure CL as the
7#   file "LICENSE".  The LLGPL consists of a preamble and the LGPL,
8#   which is distributed with Clozure CL as the file "LGPL".  Where these
9#   conflict, the preamble takes precedence. 
10#
11#   Clozure CL is referenced in the preamble as the "LIBRARY."
12#
13#   The LLGPL is also available online at
14#   http://opensource.franz.com/preamble.html
15
16
17VPATH = ../
18RM = /bin/rm
19# Versions of GNU as >= 2.9.1 all seem to work
20# AS = gas-2.9.1
21AS = as
22M4 = m4
23ASFLAGS = -mfpu=vfpv2
24M4FLAGS = -DLINUX -DARM
25CDEFINES = -DLINUX -DARM -D_REENTRANT -D_GNU_SOURCE -DDISABLE_EGC  -DUSE_FUTEX
26CDEBUG = -g
27COPT = #-O2
28# Once in a while, -Wformat says something useful.  The odds are against that,
29# however.
30WFORMAT = -Wno-format
31PLATFORM_H = platform-linuxarm.h
32
33# If the linker supports a "--hash-style=" option, use traditional
34# Sysv hash tables.  (If it doesn't support that option, assume
35# that traditional hash tables will be used by default.)
36ld_has_hash_style = $(shell $(LD) --help | grep "hash-style=")
37ifeq ($(ld_has_hash_style),)
38HASH_STYLE=
39else
40HASH_STYLE="-Wl,--hash-style=sysv"
41endif
42
43
44# Likewise, some versions of GAS may need a "-a32" flag, to force the
45
46# output file to be 32-bit compatible.
47
48A32 = $(shell ($(AS) --help -v 2>&1 | grep -q -e "-a32") && /bin/echo "-a32")
49
50.s.o:
51        $(M4) $(M4FLAGS) -I../ $< | $(AS) $(A32) $(ASFLAGS) -o $@
52.c.o:
53        $(CC) -include ../$(PLATFORM_H) -c $< $(CDEFINES) $(CDEBUG) $(COPT) -marm $(WFORMAT)  -o $@
54
55SPOBJ = pad.o  arm-spentry.o arm-subprims.o
56ASMOBJ = arm-asmutils.o imports.o
57
58COBJ  = pmcl-kernel.o gc-common.o arm-gc.o bits.o  arm-exceptions.o \
59        image.o thread_manager.o lisp-debug.o memory.o unix-calls.o
60
61DEBUGOBJ = lispdcmd.o plprint.o plsym.o albt.o arm_print.o
62KERNELOBJ= $(COBJ) arm-asmutils.o  imports.o
63
64SPINC = lisp.s m4macros.m4 arm-constants.s arm-macros.s errors.s arm-uuo.s
65
66CHEADERS = area.h bits.h arm-constants.h lisp-errors.h gc.h lisp.h \
67        lisp-exceptions.h lisp_globals.h macros.h memprotect.h image.h \
68        Threads.h arm-exceptions.h $(PLATFORM_H)
69
70# Subprims linked into the kernel ?
71# Yes:
72
73KSPOBJ = $(SPOBJ)
74all:    ../../armcl
75
76
77# No:
78
79# KSPOBJ=
80# all:  ../../ppccl ../../subprims.so
81
82OSLIBS = -ldl -lm -lpthread
83
84
85../../armcl:    $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
86        $(CC)  $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./armlinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
87
88
89$(SPOBJ): $(SPINC)
90$(ASMOBJ): $(SPINC)
91$(COBJ): $(CHEADERS)
92$(DEBUGOBJ): $(CHEADERS) lispdcmd.h
93
94
95cclean:
96        $(RM) -f $(KERNELOBJ) $(DEBUGOBJ) ../../ppccl
97
98clean:  cclean
99        $(RM) -f $(SPOBJ)
100
101strip:  ../../ppccl
102        strip -g ../../ppccl
Note: See TracBrowser for help on using the repository browser.