openfx-sys 0.1.0

Rust bindings for OpenFX
Documentation
DEBUG ?= false
EXPAT_INCLUDE ?= expat-2.0.1/lib
OBJSUF ?= .o
LIBSUF ?= .a
LIBPREFIX ?= lib
LIBNAME ?= ofxHost
EXPAT_LIB_PATH ?= .
OS = $(shell uname)
DEBUG ?= false
OFXSLIB = $(LIBPREFIX)$(LIBNAME)$(LIBSUF)

ifeq ($(DEBUG), true)
  DST_DIR = $(OS)-debug
  OPTIMISE ?= -g -Wall
  EXPATFLAG = --enable-debug
else ifeq ($(DEBUG), instrument)
  DST_DIR = $(OS)-instrument
  OPTIMISE ?= -g -O3 -Wall
else
  DST_DIR = $(OS)-release
  OPTIMISE ?= -O2 -Wall
  EXPATFLAGS = --disable-debug
endif

INCFLAGS = -I../include -I../../include -I../$(EXPAT_INCLUDE) 
CXXFLAGS = $(INCFLAGS) $(OPTIMISE)

HOST_DEMO_FILES = $(DST_DIR)/hostDemo.o \
	$(DST_DIR)/hostDemoClipInstance.o     \
	$(DST_DIR)/hostDemoEffectInstance.o   \
	$(DST_DIR)/hostDemoHostDescriptor.o   \
	$(DST_DIR)/hostDemoParamInstance.o    

all : $(DST_DIR)/hostDemo $(DST_DIR)/cacheDemo

clean :
	rm -f $(DST_DIR)/*.o $(DST_DIR)/cacheDemo $(DST_DIR)/hostDemo
	cd ..; make clean DEBUG=$(DEBUG) EXPAT_INCLUDE=$(EXPAT_INCLUDE) OBJSUF=$(OBJSUF) LIBSUF=$(LIBSUF) \
	LIBPREFIX=$(LIBPREFIX) LIBNAME=$(LIBNAME); 

$(OFXSLIB):
	cd ..; make DEBUG=$(DEBUG) EXPAT_INCLUDE=$(EXPAT_INCLUDE) OBJSUF=$(OBJSUF) LIBSUF=$(LIBSUF) \
	LIBPREFIX=$(LIBPREFIX) LIBNAME=$(LIBNAME); 


$(HOST_DEMO_FILES) : $(DST_DIR)/%.o : %.cpp
	mkdir -p $(DST_DIR)
	$(CXX) $(CXXFLAGS) -c -o $@ $<

$(DST_DIR)/cacheDemo : cacheDemo.cpp $(OFXSLIB)
	mkdir -p $(DST_DIR)
	$(CXX) $(CXXFLAGS) cacheDemo.cpp -o $(DST_DIR)/cacheDemo -L../$(DST_DIR) -lofxHost -L$(EXPAT_LIB_PATH) -lexpat -ldl

$(DST_DIR)/hostDemo : $(HOST_DEMO_FILES)  $(OFXSLIB)
	mkdir -p $(DST_DIR)
	$(CXX) $(CXXFLAGS) $(HOST_DEMO_FILES) -o $(DST_DIR)/hostDemo -L../$(DST_DIR) -lofxHost -L$(EXPAT_LIB_PATH) -lexpat -ldl