2013-12-12 02:18:36 +01:00
|
|
|
# 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:
|
2013-12-21 09:20:39 +01:00
|
|
|
#ifndef JULIA_INC
|
|
|
|
# $(error Environment variable JULIA_INC is not set.)
|
2013-12-12 02:18:36 +01:00
|
|
|
#endif
|
|
|
|
|
2013-12-21 09:20:39 +01:00
|
|
|
#INC =-I"$(JULIA_INC)"
|
2013-12-12 02:18:36 +01:00
|
|
|
FLAGS =-Wall -Wno-strict-aliasing -fno-omit-frame-pointer -fPIC
|
|
|
|
CFLAGS =-g
|
2013-12-22 17:49:05 +01:00
|
|
|
LIBS =-lportaudio
|
|
|
|
LINUX_LIBS =-lrt
|
|
|
|
LINUX_LDFLAGS =-rdynamic
|
2013-12-12 02:18:36 +01:00
|
|
|
|
|
|
|
OBJS = shim.o
|
|
|
|
|
|
|
|
# Figure out OS and architecture
|
|
|
|
OS = $(shell uname)
|
|
|
|
ifeq ($(OS), MINGW32_NT-6.1)
|
|
|
|
OS=WINNT
|
|
|
|
endif
|
|
|
|
|
2013-12-22 17:49:05 +01:00
|
|
|
# file extensions and platform-specific libs
|
2013-12-12 02:18:36 +01:00
|
|
|
ifeq ($(OS), WINNT)
|
|
|
|
SHLIB_EXT = dll
|
|
|
|
else ifeq ($(OS), Darwin)
|
|
|
|
SHLIB_EXT = dylib
|
|
|
|
else
|
2013-12-22 17:49:05 +01:00
|
|
|
LIBS += $(LINUX_LIBS)
|
|
|
|
LDFLAGS += $(LINUX_LDFLAGS)
|
2013-12-12 02:18:36 +01:00
|
|
|
SHLIB_EXT = so
|
|
|
|
endif
|
|
|
|
|
2013-12-13 06:06:48 +01:00
|
|
|
default: libportaudio_shim.$(SHLIB_EXT)
|
2013-12-12 02:18:36 +01:00
|
|
|
|
2013-12-22 17:49:05 +01:00
|
|
|
%.o: %.c Makefile
|
2013-12-12 02:18:36 +01:00
|
|
|
$(CC) $< -fPIC -c -o $@ $(INC) $(CFLAGS) $(FLAGS)
|
|
|
|
|
2013-12-13 06:06:48 +01:00
|
|
|
libportaudio_shim.$(SHLIB_EXT): $(OBJS)
|
2013-12-22 17:49:05 +01:00
|
|
|
$(CC) $(OBJS) -shared -o $@ $(LDFLAGS) $(LIBS)
|
2013-12-12 02:18:36 +01:00
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f *.o *.$(SHLIB_EXT)
|