source: trunk/examples/advanced/Tiara/source/swig.gmk

Last change on this file was 807, checked in by garnier, 16 years ago

update

File size: 1.5 KB
Line 
1# $Id: swig.gmk,v 1.6 2006/06/25 14:07:23 ahoward Exp $
2# --------------------------------------------------------------
3# swig.gmk   Michael Dressel
4# --------------------------------------------------------------
5
6libdirWrapper = $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)
7
8
9SWIGINC = $(wildcard include/*.i)
10TMP = $(subst .i,_wrap.cc,$(SWIGINC))
11TMPD = $(subst .i,_wrap.d,$(SWIGINC))
12TMPO = $(subst .i,_wrap.o,$(SWIGINC))
13TMPSO = $(subst .i,.so,$(SWIGINC))
14SWIGCC = $(subst include,src,$(TMP))
15SWIGD = $(subst include/,$(libdirWrapper)/,$(TMPD))
16objectfilesWrapper = $(subst include,$(libdirWrapper),$(TMPO))
17SWIGSO = $(subst include/,$(libdirWrapper)/_,$(TMPSO))
18
19moduleName = $(subst Wrapper,,$(name))
20
21
22.PHONY: all swigClean
23
24all: ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) $(SWIGD) $(SWIGCC) ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name)
25CXXFLAGS += -w
26
27
28ifdef G4ANALYSIS_USE
29SWIGFLAGS += -DG4ANALYSIS_USE
30endif
31
32
33MYLIBS = $(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
39src/%_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
48swigClean:
49        @echo Cleaning up $(moduleName).py, $(SWIGCC)
50        @rm -f $(moduleName).py
51        @rm -f $(SWIGCC)
Note: See TracBrowser for help on using the repository browser.