49 lines
959 B
Makefile
49 lines
959 B
Makefile
# Makefile lifted from Clang.jl
|
|
|
|
all: default
|
|
|
|
ifeq (exists, $(shell [ -e Make.user ] && echo exists ))
|
|
include Make.user
|
|
endif
|
|
|
|
.PHONY: all clean check-env default
|
|
|
|
#check-env:
|
|
#ifndef JULIA_ROOT
|
|
# $(error Environment variable JULIA_ROOT is not set.)
|
|
#endif
|
|
|
|
INC =-I"$(JULIA_ROOT)/usr/include"
|
|
FLAGS =-Wall -Wno-strict-aliasing -fno-omit-frame-pointer -fPIC
|
|
CFLAGS =-g
|
|
LIBS =
|
|
|
|
OBJS = shim.o
|
|
# libm can be removed later, it's just for the sin function used in testing
|
|
LIBS += -lportaudio -lm
|
|
|
|
# Figure out OS and architecture
|
|
OS = $(shell uname)
|
|
ifeq ($(OS), MINGW32_NT-6.1)
|
|
OS=WINNT
|
|
endif
|
|
|
|
# file extensions
|
|
ifeq ($(OS), WINNT)
|
|
SHLIB_EXT = dll
|
|
else ifeq ($(OS), Darwin)
|
|
SHLIB_EXT = dylib
|
|
else
|
|
SHLIB_EXT = so
|
|
endif
|
|
|
|
default: portaudio_shim.$(SHLIB_EXT)
|
|
|
|
%.o: %.c
|
|
$(CC) $< -fPIC -c -o $@ $(INC) $(CFLAGS) $(FLAGS)
|
|
|
|
portaudio_shim.$(SHLIB_EXT): $(OBJS)
|
|
$(CC) $(OBJS) -rdynamic -shared -o $@ $(LDFLAGS) $(LIBS)
|
|
|
|
clean:
|
|
rm -f *.o *.$(SHLIB_EXT)
|