1 | # $Id: swig.gmk,v 1.6 2006/06/25 14:07:23 ahoward Exp $ |
---|
2 | # -------------------------------------------------------------- |
---|
3 | # swig.gmk Michael Dressel |
---|
4 | # -------------------------------------------------------------- |
---|
5 | |
---|
6 | libdirWrapper = $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) |
---|
7 | |
---|
8 | |
---|
9 | SWIGINC = $(wildcard include/*.i) |
---|
10 | TMP = $(subst .i,_wrap.cc,$(SWIGINC)) |
---|
11 | TMPD = $(subst .i,_wrap.d,$(SWIGINC)) |
---|
12 | TMPO = $(subst .i,_wrap.o,$(SWIGINC)) |
---|
13 | TMPSO = $(subst .i,.so,$(SWIGINC)) |
---|
14 | SWIGCC = $(subst include,src,$(TMP)) |
---|
15 | SWIGD = $(subst include/,$(libdirWrapper)/,$(TMPD)) |
---|
16 | objectfilesWrapper = $(subst include,$(libdirWrapper),$(TMPO)) |
---|
17 | SWIGSO = $(subst include/,$(libdirWrapper)/_,$(TMPSO)) |
---|
18 | |
---|
19 | moduleName = $(subst Wrapper,,$(name)) |
---|
20 | |
---|
21 | |
---|
22 | .PHONY: all swigClean |
---|
23 | |
---|
24 | all: ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) $(SWIGD) $(SWIGCC) ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) |
---|
25 | CXXFLAGS += -w |
---|
26 | |
---|
27 | |
---|
28 | ifdef G4ANALYSIS_USE |
---|
29 | SWIGFLAGS += -DG4ANALYSIS_USE |
---|
30 | endif |
---|
31 | |
---|
32 | |
---|
33 | MYLIBS = $(subst -l$(name),,$(LDLIBS)) |
---|
34 | |
---|
35 | $(SWIGSO): $(objectfilesWrapper) $(SWIG_OBJ_DEP) |
---|
36 | @echo Creating shared library: $(libdirWrapper)/$@ |
---|
37 | $(CXX) -Wl,-soname,$(@F) -shared $(LDFLAGS) $(objectfilesWrapper) $(SWIG_OBJ_DEP) $(MYLIBS) -lc -o $(SWIGSO) |
---|
38 | |
---|
39 | src/%_wrap.cc: include/%.i |
---|
40 | $(SWIG) -python -c++ -shadow -no_default $(SWIGFLAGS) \ |
---|
41 | ${SWIG_INCDIRS} \ |
---|
42 | -o $@ $< |
---|
43 | @mv src/$(moduleName).py ./ |
---|
44 | |
---|
45 | ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name): |
---|
46 | @mkdir ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) |
---|
47 | |
---|
48 | swigClean: |
---|
49 | @echo Cleaning up $(moduleName).py, $(SWIGCC) |
---|
50 | @rm -f $(moduleName).py |
---|
51 | @rm -f $(SWIGCC) |
---|