52 lines
1.5 KiB
Plaintext
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)
|