File: Makefile

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (54 lines) | stat: -rw-r--r-- 1,338 bytes parent folder | download | duplicates (2)
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)