Files
geant4/examples/advanced/Tiara/source/swig.gmk
T
2016-06-09 14:44:26 +02:00

52 lines
1.5 KiB
Plaintext

# $Id: swig.gmk,v 1.6 2006/06/25 14:07:23 ahoward Exp $
# --------------------------------------------------------------
# swig.gmk Michael Dressel
# --------------------------------------------------------------
libdirWrapper = $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)
SWIGINC = $(wildcard include/*.i)
TMP = $(subst .i,_wrap.cc,$(SWIGINC))
TMPD = $(subst .i,_wrap.d,$(SWIGINC))
TMPO = $(subst .i,_wrap.o,$(SWIGINC))
TMPSO = $(subst .i,.so,$(SWIGINC))
SWIGCC = $(subst include,src,$(TMP))
SWIGD = $(subst include/,$(libdirWrapper)/,$(TMPD))
objectfilesWrapper = $(subst include,$(libdirWrapper),$(TMPO))
SWIGSO = $(subst include/,$(libdirWrapper)/_,$(TMPSO))
moduleName = $(subst Wrapper,,$(name))
.PHONY: all swigClean
all: ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) $(SWIGD) $(SWIGCC) ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name)
CXXFLAGS += -w
ifdef G4ANALYSIS_USE
SWIGFLAGS += -DG4ANALYSIS_USE
endif
MYLIBS = $(subst -l$(name),,$(LDLIBS))
$(SWIGSO): $(objectfilesWrapper) $(SWIG_OBJ_DEP)
@echo Creating shared library: $(libdirWrapper)/$@
$(CXX) -Wl,-soname,$(@F) -shared $(LDFLAGS) $(objectfilesWrapper) $(SWIG_OBJ_DEP) $(MYLIBS) -lc -o $(SWIGSO)
src/%_wrap.cc: include/%.i
$(SWIG) -python -c++ -shadow -no_default $(SWIGFLAGS) \
${SWIG_INCDIRS} \
-o $@ $<
@mv src/$(moduleName).py ./
${G4WORKDIR}/tmp/${G4SYSTEM}/$(name):
@mkdir ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name)
swigClean:
@echo Cleaning up $(moduleName).py, $(SWIGCC)
@rm -f $(moduleName).py
@rm -f $(SWIGCC)