1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
dicts = advancedcppDict.so \
advancedcpp2Dict.so \
cpp11featuresDict.so \
crossingDict.so \
datatypesDict.so \
example01Dict.so \
fragileDict.so \
operatorsDict.so \
overloadsDict.so \
pythonizablesDict.so \
stltypesDict.so \
templatesDict.so
all : $(dicts)
cppflags=-O3 -fPIC -rdynamic
HASCLINGCONFIG:=$(shell command -v cling-config 2> /dev/null)
ifdef HASCLINGCONFIG
cppflags+=$(shell cling-config --cppflags)
endif
HASGENREFLEX:=$(shell command -v genreflex 2> /dev/null)
ifdef HASGENREFLEX
genreflex_flags:=$(shell genreflex --cppflags)
cppflags+=$(genreflex_flags)
else
cppflags+=-DCPPYY_DUMMY_BACKEND
endif
PLATFORM := $(shell uname -s)
ifeq ($(PLATFORM),Darwin)
cppflags+=-dynamiclib -single_module -undefined dynamic_lookup -Wno-delete-non-virtual-dtor -Wno-c++11-extensions -std=c++11
endif
ifndef HASGENREFLEX
%Dict.so: %.cxx
$(CXX) -shared $(cppflags) -o $@ $^
else # reflex
%Dict.so: %_rflx.cpp %.cxx
$(CXX) -shared $(cppflags) -o $@ $^
%_rflx.cpp: %.h %.xml
genreflex $< --selection=$*.xml --rootmap=$*Dict.rootmap --rootmap-lib=$*Dict.so
endif
.PHONY: clean
clean:
-rm -f $(dicts) $(subst .so,.rootmap,$(dicts)) $(subst Dict.so,_rflx_rdict.pcm,$(dicts)) $(subst Dict.so,_rflx.cpp,$(dicts)) $(wildcard *.pyc)
|