You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.6 KiB

SWIFTC = /usr/bin/swiftc
INSTALL_NAME_TOOL = /usr/bin/install_name_tool
SWIFTLIB = libswiftspeech.dylib
LIBDIR = ../inst/lib
DEVLIBDIR = ../lib
REQUIRED_ARGS = -I /Library/Frameworks/R.framework/Headers -F/Library/Frameworks -framework R -emit-library
# add any additional frameworks being used here
EXTRA_FRAMEWORKS = -framework CoreML -framework NaturalLanguage
# the main swift executable
SWIFT_SRC = swiftspeech.swift
# the bridging header which sets up R accessibility to Swift
BRIDGING_HEADER = -import-objc-header swiftspeech.h
# the package shared library (what you put in useDynLib())
# linker glue
PKG_LIBS = -lswiftspeech -L../inst/lib
SOURCES = init.c
OBJECTS = init.o
all: glue $(SHLIB) swiftLibrary
# this makes the R registration code/init.c
Rscript -e "swiftr::add_registration_glue()"
swiftLibrary: $(SWIFTLIB)
# this is where the dylib will go for pkg installation
-@if test ! -e $(LIBDIR); then mkdir -p $(LIBDIR); fi
# this is where the dylib will go during development b/c "@loader_path"
-@if test ! -e $(DEVLIBDIR); then mkdir -p $(DEVLIBDIR); fi
# compile packate "glue"
# compile swift compoonents
# ensure R can find the dylib after installation
$(INSTALL_NAME_TOOL) -change $(SWIFTLIB) @loader_path/../lib/$(SWIFTLIB) $(PKG_DYNLIB)