| [807] | 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)
|
|---|