summaryrefslogtreecommitdiff
path: root/cpp/gen
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/gen')
-rw-r--r--cpp/gen/Makefile.am38
-rw-r--r--cpp/gen/gen-src.mk99
2 files changed, 22 insertions, 115 deletions
diff --git a/cpp/gen/Makefile.am b/cpp/gen/Makefile.am
index 1f38a419d6..8c179dfd06 100644
--- a/cpp/gen/Makefile.am
+++ b/cpp/gen/Makefile.am
@@ -1,6 +1,3 @@
-# TODO aconway 2006-11-30: nasty hack, should be done by automake?
-abs_srcdir = @abs_srcdir@
-
include gen-src.mk
BUILT_SOURCES = $(generated_sources)
@@ -10,21 +7,20 @@ BUILT_SOURCES = $(generated_sources)
EXTRA_DIST = $(BUILT_SOURCES)
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
-gentools_dir = $(abs_srcdir)/../../gentools
-spec_dir = $(abs_srcdir)/../../specs
+gentools_dir = $(srcdir)/../../gentools
+spec_dir = $(srcdir)/../../specs
spec = $(spec_dir)/amqp-8.0.xml
+gentools_srcdir = $(gentools_dir)/src/org/apache/qpid/gentools
-# FIXME: add dependencies?
-timestamp: $(spec)
- if test -d $(gentools_dir); then \
- rm -f $(generated_sources); \
- (cd $(gentools_dir)/src/org/apache/qpid/gentools && \
- rm -f *.class && javac *.java); \
- java -cp $(gentools_dir)/src org.apache.qpid.gentools.Main \
- -c -o . -t $(gentools_dir)/templ.cpp $(spec); \
- else \
- echo "warning: failed to regenerate gen/*.{cpp,h}" 1>&2; \
- fi
+timestamp: $(spec) $(java_sources) $(cxx_templates)
+if BUILD_IN_MESSAGE_TREE
+ rm -f $(generated_sources)
+ (cd $(gentools_srcdir) && rm -f *.class && $(JAVAC) *.java); \
+ $(JAVA) -cp $(gentools_dir)/src org.apache.qpid.gentools.Main \
+ -c -o . -t $(gentools_dir)/templ.cpp $(spec)
+else
+ echo "warning: failed to regenerate gen/*.{cpp,h}" 1>&2
+endif
touch timestamp
EXTRA_DIST += timestamp
@@ -35,4 +31,14 @@ gen-src.mk: timestamp
( echo 'generated_sources = \' \
&& ls *.cpp *.h | sort -u | sed 's/.*/ & \\/;$$s/ \\//' \
) > $@-t
+if BUILD_IN_MESSAGE_TREE
+ ( echo 'java_sources = \' \
+ && find $(gentools_srcdir) -name '*.java' \
+ | sort -u | sed 's/.*/ & \\/;$$s/ \\//' \
+ ) >> $@-t
+ ( echo 'cxx_templates = \' \
+ && find $(gentools_dir)/templ.cpp -name '*.tmpl' \
+ | sort -u | sed 's/.*/ & \\/;$$s/ \\//' \
+ ) >> $@-t
+endif
mv $@-t $@
diff --git a/cpp/gen/gen-src.mk b/cpp/gen/gen-src.mk
deleted file mode 100644
index 607bda2bd7..0000000000
--- a/cpp/gen/gen-src.mk
+++ /dev/null
@@ -1,99 +0,0 @@
-generated_sources = \
- AccessRequestBody.h \
- AccessRequestOkBody.h \
- AMQP_ClientOperations.h \
- AMQP_ClientProxy.cpp \
- AMQP_ClientProxy.h \
- AMQP_Constants.h \
- AMQP_MethodVersionMap.cpp \
- AMQP_MethodVersionMap.h \
- AMQP_ServerOperations.h \
- AMQP_ServerProxy.cpp \
- AMQP_ServerProxy.h \
- BasicAckBody.h \
- BasicCancelBody.h \
- BasicCancelOkBody.h \
- BasicConsumeBody.h \
- BasicConsumeOkBody.h \
- BasicDeliverBody.h \
- BasicGetBody.h \
- BasicGetEmptyBody.h \
- BasicGetOkBody.h \
- BasicPublishBody.h \
- BasicQosBody.h \
- BasicQosOkBody.h \
- BasicRecoverBody.h \
- BasicRejectBody.h \
- BasicReturnBody.h \
- ChannelAlertBody.h \
- ChannelCloseBody.h \
- ChannelCloseOkBody.h \
- ChannelFlowBody.h \
- ChannelFlowOkBody.h \
- ChannelOpenBody.h \
- ChannelOpenOkBody.h \
- ConnectionCloseBody.h \
- ConnectionCloseOkBody.h \
- ConnectionOpenBody.h \
- ConnectionOpenOkBody.h \
- ConnectionRedirectBody.h \
- ConnectionSecureBody.h \
- ConnectionSecureOkBody.h \
- ConnectionStartBody.h \
- ConnectionStartOkBody.h \
- ConnectionTuneBody.h \
- ConnectionTuneOkBody.h \
- DtxSelectBody.h \
- DtxSelectOkBody.h \
- DtxStartBody.h \
- DtxStartOkBody.h \
- ExchangeDeclareBody.h \
- ExchangeDeclareOkBody.h \
- ExchangeDeleteBody.h \
- ExchangeDeleteOkBody.h \
- FileAckBody.h \
- FileCancelBody.h \
- FileCancelOkBody.h \
- FileConsumeBody.h \
- FileConsumeOkBody.h \
- FileDeliverBody.h \
- FileOpenBody.h \
- FileOpenOkBody.h \
- FilePublishBody.h \
- FileQosBody.h \
- FileQosOkBody.h \
- FileRejectBody.h \
- FileReturnBody.h \
- FileStageBody.h \
- QueueBindBody.h \
- QueueBindOkBody.h \
- QueueDeclareBody.h \
- QueueDeclareOkBody.h \
- QueueDeleteBody.h \
- QueueDeleteOkBody.h \
- QueuePurgeBody.h \
- QueuePurgeOkBody.h \
- StreamCancelBody.h \
- StreamCancelOkBody.h \
- StreamConsumeBody.h \
- StreamConsumeOkBody.h \
- StreamDeliverBody.h \
- StreamPublishBody.h \
- StreamQosBody.h \
- StreamQosOkBody.h \
- StreamReturnBody.h \
- TestContentBody.h \
- TestContentOkBody.h \
- TestIntegerBody.h \
- TestIntegerOkBody.h \
- TestStringBody.h \
- TestStringOkBody.h \
- TestTableBody.h \
- TestTableOkBody.h \
- TunnelRequestBody.h \
- TxCommitBody.h \
- TxCommitOkBody.h \
- TxRollbackBody.h \
- TxRollbackOkBody.h \
- TxSelectBody.h \
- TxSelectOkBody.h