From 046f68aa2392e5922eda01af7391a2ee91809eaa Mon Sep 17 00:00:00 2001 From: Volker Birk Date: Sun, 14 Jun 2015 14:07:48 +0200 Subject: [PATCH] generating .cc files --- src/Makefile | 10 ++++++---- src/gen_cpp_Message.ysl2 | 22 +++++++++++++++++++--- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/Makefile b/src/Makefile index 30a88df..d4f4587 100644 --- a/src/Makefile +++ b/src/Makefile @@ -9,8 +9,6 @@ $(JAR): org/pEp/jniadapter/pEpException.java org/pEp/jniadapter/AbstractEngine.j javac org/pEp/jniadapter/*.java jar cf $@ org/pEp/jniadapter/*.class -org_pEp_jniadapter_AbstractEngine.o: org_pEp_jniadapter_AbstractEngine.h org_pEp_jniadapter_AbstractEngine.cc throw_pEp_exception.hh jniutils.hh - org_pEp_jniadapter_AbstractEngine.h: org/pEp/jniadapter/AbstractEngine.java javah $(subst /,.,$(subst .java,,$<)) @@ -20,9 +18,9 @@ org_pEp_jniadapter_Engine.h: org/pEp/jniadapter/Engine.java org_pEp_jniadapter_Message.h: org/pEp/jniadapter/Message.java javah $(subst /,.,$(subst .java,,$<)) -org_pEp_jniadapter_Engine.o: org_pEp_jniadapter_Engine.cc org_pEp_jniadapter_Engine.h +org_pEp_jniadapter_AbstractEngine.o: %.o: %.cc %.h throw_pEp_exception.hh jniutils.hh -org_pEp_jniadapter_Message.o: org_pEp_jniadapter_Message.cc org_pEp_jniadapter_Message.h +org_pEp_jniadapter_Engine.o org_pEp_jniadapter_Message.o: %.o: %.cc %.h $(LIBRARY): org_pEp_jniadapter_AbstractEngine.o org_pEp_jniadapter_Engine.o org_pEp_jniadapter_Message.o throw_pEp_exception.o jniutils.o ar -r $@ *.o @@ -33,6 +31,9 @@ org/pEp/jniadapter/pEpException.java: pEp.yml2 gen_java_exceptions.ysl2 org/pEp/jniadapter/Engine.java org/pEp/jniadapter/Message.java : pEp.yml2 gen_java_Message.ysl2 types_java.ysl2 yml2proc -y gen_java_Message.ysl2 $< +org_pEp_jniadapter_Engine.cc org_pEp_jniadapter_Message.cc : pEp.yml2 gen_cpp_Message.ysl2 types_c.ysl2 + yml2proc -y gen_cpp_Message.ysl2 $< + throw_pEp_exception.cc throw_pEp_exception.hh: pEp.yml2 gen_throw_pEp_exception.ysl2 textutils.ysl2 yml2proc -y gen_throw_pEp_exception.ysl2 $< -o throw_pEp_exception.cc @@ -51,4 +52,5 @@ clean: rm -f org/pEp/jniadapter/Message.java rm -f org/pEp/jniadapter/Color.java rm -f throw_pEp_exception.* + rm -f org_pEp_jniadapter_Message.cc org_pEp_jniadapter_Engine.cc diff --git a/src/gen_cpp_Message.ysl2 b/src/gen_cpp_Message.ysl2 index 6478de3..b496972 100644 --- a/src/gen_cpp_Message.ysl2 +++ b/src/gen_cpp_Message.ysl2 @@ -1,10 +1,26 @@ include yslt.yml2 tstylesheet { - template "/namespace[@name='pEp']" apply "struct", 0; + include ./types_c.ysl2 - template "struct[@name='message']" { - + template "/namespace[@name='pEp']" apply "struct|interface", 0; + + template "struct" { + const "jname" call "CamelCase" with "text", "@name"; + document("org_pEp_jniadapter_{$jname}.cc", "text") + || + #include "org_pEp_jniadapter_«$jname».h" + + || + } + + template "interface" { + const "jname" call "CamelCase" with "text", "@name"; + document("org_pEp_jniadapter_{$jname}.cc", "text") + || + #include "org_pEp_jniadapter_«$jname».h" + + || } }