1 # -*- makefile -*- for the C-level run-time support for SBCL
3 # This software is part of the SBCL system. See the README file for
6 # This software is derived from the CMU CL system, which was
7 # written at Carnegie Mellon University and released into the
8 # public domain. The software is in the public domain and is
9 # provided with absolutely no warranty. See the COPYING and CREDITS
10 # files for more information.
14 ASSEM_SRC = x86-assem.S ldso-stubs.S
16 OS_SRC = linux-os.c x86-linux-os.c
18 # The "--Wl,--export-dynamic" flags are here to help people
19 # experimenting with callbacks from C to SBCL, by allowing linkage to
20 # SBCL src/runtime/*.c symbols from C. Work on this is good, but it's
21 # definitely bleeding edge and not particularly stable. In particular,
22 # not only are the workarounds for the GC relocating Lisp code and
23 # data unstable, but even the basic calling convention might end up
24 # being unstable. Unless you want to do some masochistic maintenance
25 # work when new releases of SBCL come out, please don't try to build
26 # real code on this until a coherent stable interface has been added.
27 # (You *are* encouraged to design and implement a coherent stable
28 # interface, though.:-| As far as I (WHN 2002-05-19) know, no one is
29 # working on one and it would be a nice thing to have.)
30 LINKFLAGS += -Wl,--export-dynamic -m32
33 ifdef LISP_FEATURE_LARGEFILE
34 CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
36 CFLAGS += -m32 -fno-omit-frame-pointer
38 ifdef LISP_FEATURE_SB_THREAD
41 ifdef LISP_FEATURE_SB_CORE_COMPRESSION
45 # Hardened GCC enables PIE by default
46 ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e nopie),)
54 # Nothing to do for after-grovel-headers.
55 .PHONY: after-grovel-headers