[libbluray-devel] build: remove src/examples/Makefile. am and collapse everything in a single Makefile.am
Diego Elio Pettenò
git at videolan.org
Mon Feb 25 07:51:36 CET 2013
libbluray | branch: flameeyes | Diego Elio Pettenò <flameeyes at flameeyes.eu> | Thu Feb 14 19:06:41 2013 -0800| [603df28200029c4c9e745fca79a78aa24b8501b5] | committer: Diego Elio Pettenò
build: remove src/examples/Makefile.am and collapse everything in a single Makefile.am
This allows a much faster build especially with --enable-examples, as
all the objects are built together and the linking can happen in
parallel for most of them as well.
> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=603df28200029c4c9e745fca79a78aa24b8501b5
---
.gitignore | 24 +++++------
Makefile.am | 105 +++++++++++++++++++++++++++++++++++++++++++---
configure.ac | 3 +-
src/examples/Makefile.am | 86 -------------------------------------
4 files changed, 113 insertions(+), 105 deletions(-)
diff --git a/.gitignore b/.gitignore
index 81a92cc..bec7937 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,18 +23,18 @@ libtool
.deps
.libs
src/libbluray/bluray-version.h
-src/examples/bdsplice
-src/examples/clpi_dump
-src/examples/index_dump
-src/examples/libbluray_test
-src/examples/list_titles
-src/examples/mobj_dump
-src/examples/mpls_dump
-src/examples/sound_dump
-src/examples/bdj_test
-src/examples/bd_info
-src/examples/hdmv_test
-src/examples/*.exe
+bdsplice
+clpi_dump
+index_dump
+libbluray_test
+list_titles
+mobj_dump
+mpls_dump
+sound_dump
+bdj_test
+bd_info
+hdmv_test
+*.exe
src/libbluray/bdj/build
libbluray.jar
stamp-h1
diff --git a/Makefile.am b/Makefile.am
index 3ec26fe..1a886e9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,9 +1,5 @@
include $(top_srcdir)/doxygen-include.am
-if USING_EXAMPLES
-SUBDIRS = src/examples
-endif
-
ACLOCAL_AMFLAGS=-I m4
EXTRA_DIST = \
@@ -107,7 +103,102 @@ pkginclude_HEADERS = \
src/libbluray/keys.h \
src/util/log_control.h
+EXTRA_PROGRAMS = \
+ bd_info \
+ bdsplice \
+ clpi_dump \
+ hdmv_test \
+ index_dump \
+ libbluray_test \
+ list_titles \
+ mobj_dump \
+ mpls_dump \
+ sound_dump
+
+# the overriding of CFLAGS is necessary to ensure that automake will
+# rebuild different objects for different targets.
+
+mpls_dump_CFLAGS = $(AM_CFLAGS)
+mpls_dump_SOURCES = \
+ src/examples/mpls_dump.c \
+ src/examples/util.c \
+ src/examples/util.h \
+ src/util/bits.c \
+ src/util/strutl.c \
+ src/util/logging.c \
+ src/file/file_posix.c \
+ src/file/dir_posix.c \
+ src/libbluray/bdnav/extdata_parse.c \
+ src/libbluray/bdnav/mpls_parse.c \
+ src/libbluray/bdnav/clpi_parse.c \
+ src/libbluray/bdnav/navigation.c
+
+clpi_dump_CFLAGS = $(AM_CFLAGS)
+clpi_dump_SOURCES = \
+ src/examples/clpi_dump.c \
+ src/examples/util.c \
+ src/examples/util.h \
+ src/util/bits.c \
+ src/util/logging.c \
+ src/file/file_posix.c \
+ src/libbluray/bdnav/extdata_parse.c \
+ src/libbluray/bdnav/clpi_parse.c
+
+sound_dump_CFLAGS = $(AM_CFLAGS)
+sound_dump_SOURCES = \
+ src/examples/sound_dump.c \
+ src/util/bits.c \
+ src/util/logging.c \
+ src/file/file_posix.c \
+ src/libbluray/bdnav/sound_parse.c
+
+index_dump_CFLAGS = $(AM_CFLAGS)
+index_dump_SOURCES = \
+ src/examples/index_dump.c \
+ src/util/bits.c \
+ src/util/logging.c \
+ src/file/file_posix.c \
+ src/libbluray/bdnav/index_parse.c
+
+mobj_dump_CFLAGS = $(AM_CFLAGS)
+mobj_dump_SOURCES = \
+ src/examples/mobj_dump.c \
+ src/util/bits.c \
+ src/util/logging.c \
+ src/file/file_posix.c \
+ src/libbluray/hdmv/mobj_parse.c \
+ src/libbluray/hdmv/mobj_print.c
+
+libbluray_test_CFLAGS = $(AM_CFLAGS)
+libbluray_test_SOURCES = \
+ src/examples/libbluray_test.c \
+ src/util/logging.c
+libbluray_test_LDADD = libbluray.la
+
+list_titles_CFLAGS = $(AM_CFLAGS)
+list_titles_SOURCES = \
+ src/examples/list_titles.c \
+ src/util/logging.c
+list_titles_LDADD = libbluray.la
+
+bdsplice_SOURCES = src/examples/bdsplice.c
+bdsplice_LDADD = libbluray.la
+
+hdmv_test_SOURCES = src/examples/hdmv_test.c
+hdmv_test_LDADD = libbluray.la
+
+bd_info_SOURCES = src/examples/bd_info.c
+bd_info_LDADD = libbluray.la
+
+bdj_test_SOURCES = src/examples/bdj_test.c
+bdj_test_LDADD = libbluray.la
+
if USING_BDJAVA
+
+AM_CFLAGS += $(BDJAVA_CFLAGS)
+
+EXTRA_PROGRAMS += bdj_test
+
jardir = $(libdir)/libbluray/
jar_DATA = libbluray.jar
@@ -134,11 +225,13 @@ libbluray_la_SOURCES += \
src/libbluray/bdj/native/register_native.h \
src/libbluray/bdj/native/register_native.c
-AM_CFLAGS += $(BDJAVA_CFLAGS)
-
clean-local:
ant -f $(top_srcdir)/src/libbluray/bdj/build.xml clean
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = src/libbluray.pc
+
+if USING_EXAMPLES
+noinst_PROGRAMS = $(EXTRA_PROGRAMS)
+endif
diff --git a/configure.ac b/configure.ac
index ccfcfe2..620a42d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,6 +93,7 @@ AC_ARG_WITH([bdj-bootclasspath],
dnl required programs
AC_PROG_CC
+AM_PROG_CC_C_O
AC_PROG_CC_C99
AS_IF([test "x$ac_cv_prog_cc_c99" = "xno"], [
AC_MSG_ERROR([no C99 compiler found, $PACKAGE requires a C99 compiler.])
@@ -218,7 +219,7 @@ AC_SUBST(LT_VERSION_INFO)
dnl generate output files
AC_SUBST(BDJAVA_CFLAGS)
-AC_CONFIG_FILES([Makefile src/examples/Makefile src/libbluray.pc src/libbluray/bluray-version.h])
+AC_CONFIG_FILES([Makefile src/libbluray.pc src/libbluray/bluray-version.h])
AC_OUTPUT
diff --git a/src/examples/Makefile.am b/src/examples/Makefile.am
deleted file mode 100644
index 2cbe053..0000000
--- a/src/examples/Makefile.am
+++ /dev/null
@@ -1,86 +0,0 @@
-SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112L -D_REENTRANT
-SET_INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/file -I$(top_srcdir)/src/libbluray/bdnav
-
-AM_CFLAGS = $(SET_FEATURES) $(SET_INCLUDES)
-
-EXTRA_PROGRAMS=bdsplice mpls_dump clpi_dump index_dump mobj_dump sound_dump \
- libbluray_test list_titles hdmv_test bd_info
-
-BLURAY_LIB = $(top_builddir)/libbluray.la
-
-if USING_BDJAVA
- AM_CFLAGS += @BDJAVA_CFLAGS@
-endif
-
-bdsplice_SOURCES = \
- bdsplice.c
-
-bdsplice_LDADD = $(BLURAY_LIB)
-
-mpls_dump_SOURCES = \
- mpls_dump.c util.c util.h \
- ../util/bits.c \
- ../util/strutl.c \
- ../util/logging.c \
- ../file/file_posix.c \
- ../file/dir_posix.c \
- ../libbluray/bdnav/extdata_parse.c \
- ../libbluray/bdnav/mpls_parse.c \
- ../libbluray/bdnav/clpi_parse.c \
- ../libbluray/bdnav/navigation.c
-
-clpi_dump_SOURCES = \
- clpi_dump.c util.c util.h \
- ../util/bits.c \
- ../util/logging.c \
- ../file/file_posix.c \
- ../libbluray/bdnav/extdata_parse.c \
- ../libbluray/bdnav/clpi_parse.c
-
-sound_dump_SOURCES = \
- sound_dump.c \
- ../util/bits.c \
- ../util/logging.c \
- ../file/file_posix.c \
- ../libbluray/bdnav/sound_parse.c
-
-index_dump_SOURCES = \
- index_dump.c \
- ../util/bits.c \
- ../util/logging.c \
- ../file/file_posix.c \
- ../libbluray/bdnav/index_parse.c
-
-mobj_dump_SOURCES = \
- mobj_dump.c \
- ../util/bits.c \
- ../util/logging.c \
- ../file/file_posix.c \
- ../libbluray/hdmv/mobj_parse.c \
- ../libbluray/hdmv/mobj_print.c
-
-libbluray_test_SOURCES = \
- libbluray_test.c ../util/logging.c
-
-libbluray_test_LDADD = $(BLURAY_LIB)
-
-hdmv_test_SOURCES = \
- hdmv_test.c
-
-hdmv_test_LDADD = $(BLURAY_LIB)
-
-list_titles_SOURCES = \
- list_titles.c ../util/logging.c
-
-list_titles_LDADD = $(BLURAY_LIB)
-
-bd_info_SOURCES = \
- bd_info.c
-
-bd_info_LDADD = $(BLURAY_LIB)
-
-if USING_BDJAVA
-EXTRA_PROGRAMS+= bdj_test
-bdj_test_SOURCES = bdj_test.c
-bdj_test_LDADD = $(BLURAY_LIB)
-endif
More information about the libbluray-devel
mailing list