summaryrefslogtreecommitdiff
path: root/cpp/src/Makefile.am
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-08-01 16:50:33 +0000
committerAlan Conway <aconway@apache.org>2007-08-01 16:50:33 +0000
commit28b22a308cb6cf0232067636fb6676a4c96d82f7 (patch)
tree1f5b4cd32c425ffda3a7295dd47f0aaba3c0ce25 /cpp/src/Makefile.am
parent9235b5d09b3273c7c495ff266e18781fad363a9b (diff)
downloadqpid-python-28b22a308cb6cf0232067636fb6676a4c96d82f7.tar.gz
* src/generate.sh: Moved requirements test to configure.ac
* rubygen: Cleanup and improvements, template for cluster work. * configure.ac: - support for ruby code generator + cleanup. - moved "can generate" tests to configure.ac - removed redundant APR stuff. * bootstrap: Remove codegen from bootstrap, all in config/make. * src/Makefile.am (libqpidcommon_la_LIBADD): - Ruby code generator. - Improvements to existing generator rules. - Removed APR stuff. * configure.ac (CPPUNIT_CXXFLAGS): Removed APR stuff. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561869 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/Makefile.am')
-rw-r--r--cpp/src/Makefile.am97
1 files changed, 59 insertions, 38 deletions
diff --git a/cpp/src/Makefile.am b/cpp/src/Makefile.am
index 458f28abd2..d4293b70fd 100644
--- a/cpp/src/Makefile.am
+++ b/cpp/src/Makefile.am
@@ -1,31 +1,75 @@
SUBDIRS = . tests
-# Generated code
--include generate.mk
+## Generated code
-generate.mk $(generated_cpp) $(generated_h): gen/timestamp
+# Note: generated soure and makefiles included in distribution so a
+# distribution can be built without code generation tools and XML
+# sources.
-gen/timestamp: generate.sh $(generator)
- $(srcdir)/generate.sh
- touch $@
+EXTRA_DIST= $(platform_dist)
+
+EXTRA_DIST += gen/generate.mk generate.sh $(generated_cpp) $(generated_h) \
+ rubygen.mk $(rgen_srcs)
+
+# AMQP_XML is defined in ../configure.ac
+specs=@AMQP_XML@ $(top_srcdir)/xml/cluster.xml
+
+# Makefiles are either generated or copied from $srcdir.
+sinclude gen/generate.mk
+sinclude rubygen.mk
+
+DISTCLEANFILES=gen/generate.mk rubygen.mk
+
+if GENERATE
+
+# Java code generator.
+# Must generate into a separate gen directory because otherwise
+# there's no way to figure out which files are generated.
+
+gentools_dir=$(top_srcdir)/gentools
+
+gen/generate.mk: generate.sh $(specs) $(generator)
+ env gentools_dir=$(gentools_dir) specs="$(specs)" $(srcdir)/generate.sh
+
+gen $(generated_cpp) $(generated_h): gen/generate.mk
# Empty rule in case a generator file is renamed/removed.
$(generator):
-DISTCLEANFILES=generate.mk
-
-clean-gen:
+maintainer-clean-local:
rm -rf gen
-maintainer-clean-local:
- clean-gen
+# Ruby generator.
+
+rgen_dir=$(top_srcdir)/rubygen
+rgen_tdir=$(rgen_dir)/templates
+rgen_script=$(rgen_dir)/generate
+rgen_cmd=ruby -I $(rgen_dir) $(rgen_script)
+
+rgen_templates=$(rgen_tdir)/frame_body_lists.rb
+
+rubygen.mk: $(rgen_script) $(specs) $(rgen_templates)
+ echo rgen_srcs=`$(rgen_cmd) - $(specs) $(rgen_templates)` > $@
+ echo rgen_srcs=`$(rgen_cmd) . $(specs) $(rgen_templates)`
-EXTRA_DIST=generate.sh $(generated_cpp) $(generated_h) $(platform_dist)
+$(rgen_srcs): rubygen.mk
-AM_CXXFLAGS = $(WARNING_CFLAGS) $(APR_CXXFLAGS)
+else # !GENERATE
+# If not generating, copy generated makefiles from source dir to build dir.
+gen/generate.mk:
+ cp $(srcdir)/$@ $@
+rubygen.mk:
+ cp $(srcdir)/$@ $@
+endif # GENERATE
+
+## Compiler flags
+
+AM_CXXFLAGS = $(WARNING_CFLAGS)
AM_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO_ARG)
INCLUDES = -Igen -I$(srcdir)/gen
+## Automake macros to build libraries and executables.
+
qpidd_LDADD = \
libqpidbroker.la \
libqpidcommon.la
@@ -33,21 +77,6 @@ qpidd_LDADD = \
sbin_PROGRAMS = qpidd
qpidd_SOURCES = qpidd.cpp
-apr_plat_src = \
- qpid/sys/apr/APRBase.cpp \
- qpid/sys/apr/APRPool.cpp \
- qpid/sys/apr/Socket.cpp \
- qpid/sys/apr/Time.cpp \
- qpid/sys/apr/Thread.cpp \
- qpid/sys/apr/Shlib.cpp
-
-apr_plat_hdr = \
- qpid/sys/apr/APRBase.h \
- qpid/sys/apr/APRPool.h \
- qpid/sys/apr/Condition.h \
- qpid/sys/apr/Mutex.h \
- qpid/sys/apr/Thread.h
-
posix_plat_src = \
qpid/sys/epoll/EpollPoller.cpp \
qpid/sys/posix/check.cpp \
@@ -64,15 +93,8 @@ posix_plat_hdr = \
qpid/sys/posix/Mutex.h \
qpid/sys/posix/Thread.h
-if USE_APR_PLATFORM
- platform_dist=$(posix_plat_src) $(posix_plat_hdr)
- platform_src = $(apr_plat_src)
- platform_hdr = $(apr_plat_hdr)
-else
- platform_dist=$(apr_plat_src) $(apr_plat_hdr)
- platform_src = $(posix_plat_src)
- platform_hdr = $(posix_plat_hdr)
-endif
+platform_src = $(posix_plat_src)
+platform_hdr = $(posix_plat_hdr)
lib_LTLIBRARIES = libqpidcommon.la libqpidbroker.la libqpidclient.la
@@ -91,7 +113,6 @@ libqpidcommon_la_LIBADD = \
-lboost_program_options \
-luuid \
libLogger.la \
- $(APR_LIBS) \
$(LIB_DLOPEN) \
$(LIB_CLOCK_GETTIME)