# This file is part of the Coral project.
# Please read the copyright notice in the LICENSE file.
PYTHONBIN= python
SWIGBIN = swig
FIX_WRAP_CXX = ../../build/fixWrapCxx.py
FIX_PY_MOD = ../../build/fixPyModule.py


MM_SMD01/SMD01.i += "SMD01/create_coral_language.h"

METAMODELS=
METAMODELS_I :=   $(patsubst %,%.i, $(METAMODELS))
METAMODELS_WRAP_CXX := $(patsubst %,%_wrap.cxx, $(METAMODELS))
METAMODELS_CPP := $(patsubst %,%.cpp, $(METAMODELS))
METAMODELS_PY := $(patsubst %,%.py, $(METAMODELS))
METAMODELS_H :=   $(patsubst %,%.h, $(METAMODELS))

.PHONY: all
all: $(METAMODELS_WRAP_CXX)

$(METAMODELS_WRAP_CXX): %_wrap.cxx: %.i $(FIX_PY_MOD)
	$(SWIGBIN) -c -c++ -python -shadow $<
	cat $*.py $*_extra.py  > $*_old.py
	$(PYTHONBIN) $(FIX_PY_MOD) $*_old.py > $$(echo $* | sed -e 's^.*/^^;')/metamodel.py
	rm $*.py
	mv $*_wrap.cxx $*_wrap_old.cxx
	$(PYTHONBIN) $(FIX_WRAP_CXX) $*_wrap_old.cxx > $*_wrap.cxx

$(METAMODELS_I): %.i: %.h
	@echo "%module" $$(echo $* | sed -e 's^.*/^^;') > $@
	@echo "%{" >> $@
	@echo "#include <coral/core/ElementDefinition.h>" >> $@
	@echo -e $(patsubst %, "#include <coral/lang/%>\n", $*.h $(MM_$@)) >> $@
	@echo "%}" >> $@
	@cat $*.h $(MM_$@) >> $@
	@echo "%init %{" >> $@
	@echo "$$(echo $* | sed -e 's^.*/^^;')::init_language();" >> $@
	@echo "%}" >> $@




