racket/src/foreign/Makefile.in
Matthew Flatt f3c3bb4441 Use installed libffi, if any, instead of building own
and add --disable-libffi to get old, always-build behavior
2011-04-10 19:26:15 -06:00

45 lines
1.1 KiB
Makefile

# Makefile for all foreign-related libraires
srcdir = @srcdir@
builddir = @builddir@
CC = @CC@
LIBFFI_LOCAL_INCLUDE_ON = -Ilibffi/include
LIBFFI_LOCAL_INCLUDE_OFF =
CFLAGS = @CFLAGS@ @COMPFLAGS@ @PREFLAGS@ @PROFFLAGS@ @OPTIONS@ @MZOPTIONS@ \
-I$(builddir)/../racket \
-I$(srcdir)/../racket/include -I$(srcdir)/../racket/src \
$(LIBFFI_LOCAL_INCLUDE_@OWN_LIBFFI@)
ARFLAGS = @ARFLAGS@
NOOP = :
# compile sub-libraries & foreign.c
all:
$(MAKE) foreign.@LTO@
$(MAKE) libffi_@OWN_LIBFFI@
libffi_ON:
$(MAKE) libffi/libffi@FOREIGN_CONVENIENCE@.la
libffi_OFF:
$(NOOP)
# just foreign.c, which will generate a stub module:
stub:
$(MAKE) foreign.@LTO@
# Causes objects to be generated in libffi/src/
# in inconvenience mode:
libffi/libffi@FOREIGN_CONVENIENCE@.la:
cd libffi; $(MAKE) libffi@FOREIGN_CONVENIENCE@.la
foreign.@LTO@: $(srcdir)/foreign.c \
$(srcdir)/../racket/include/scheme.h \
$(srcdir)/../racket/src/schemef.h \
$(srcdir)/../racket/src/schpriv.h
$(CC) $(CFLAGS) -c $(srcdir)/foreign.c -o foreign.@LTO@
clean:
rm -f foreign.@LTO@
if [ -d libffi ] ; then cd libffi ; $(MAKE) clean ; fi