Build system fixes
authorMaarten Bosmans <mkbosmans@gmail.com>
Fri, 5 Jun 2009 05:03:45 +0000 (07:03 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sun, 21 Jun 2009 07:55:15 +0000 (09:55 +0200)
- Use automake --foreign to silence warnings about gnu extensions.
 - Add gstreamer-api.xml as prerequisite for gstreamer-sharp/*plugins/generated/%.cs
 - Avoid executing $(MAKE) -C {core,base}plugins multiple times when gstreamer-api.xml is changed.
 - Only generate xml for elements with changed metadata

autogen.sh
gstreamer-sharp/.gitignore
gstreamer-sharp/Makefile.am
gstreamer-sharp/baseplugins/Makefile.am
gstreamer-sharp/coreplugins/Makefile.am

index b6243547ca9cc24c5c2c11f27ae19b6200b0d8d9..4df94810ce2d67981c3910c4f5cf1aab6fd8a31b 100755 (executable)
@@ -92,8 +92,8 @@ if grep "^AM_CONFIG_HEADER" configure.ac >/dev/null; then
   autoheader || { echo "**Error**: autoheader failed."; exit 1; }
 fi
 
-echo "Running automake --gnu $am_opt ..."
-automake --add-missing --gnu $am_opt ||
+echo "Running automake --add-missing --foreign $am_opt ..."
+automake --add-missing --foreign $am_opt ||
   { echo "**Error**: automake failed."; exit 1; }
 echo "Running autoconf ..."
 autoconf || { echo "**Error**: autoconf failed."; exit 1; }
index ee14644f6b3abc1d19504832e7110e450ac029b4..de973ec7d5a76d7b5b18c63c6c96eb080ddbb926 100644 (file)
@@ -7,5 +7,6 @@ gstreamer-sharp.dll.config
 gstreamer-sharp.dll.mdb
 gstreamer-sharp.pdb
 gstreamer-sharp.snk
+*plugins/generated/*
 *plugins/*.cs
 *plugins/*.xml
index a6a73570543263929e6d0995f49d27a5dae691ab..fa50998d87dce440e1b40e0e549995e83fdbc5f2 100644 (file)
@@ -145,10 +145,12 @@ generated-stamp: $(API) $(build_customs) $(overrides)
        && mv generated/ObjectManager.cs.tmp generated/ObjectManager.cs \
        && touch generated-stamp
 
-coreplugins/generated/*.cs: $(API) coreplugins/*.metadata coreplugins/inspect/*.raw
+coreplugins/generated/*.cs: coreplugins/generated
+coreplugins/generated: $(API) coreplugins/*.metadata coreplugins/inspect/*.raw
        $(MAKE) -C coreplugins
 
-baseplugins/generated/*.cs: $(API) baseplugins/*.custom baseplugins/*.metadata baseplugins/inspect/*.raw
+baseplugins/generated/*.cs: baseplugins/generated
+baseplugins/generated: $(API) baseplugins/*.custom baseplugins/*.metadata baseplugins/inspect/*.raw
        $(MAKE) -C baseplugins
 
 $(KEYFILE): $(top_srcdir)/gstreamer-sharp.snk
index a209365aab5c319a6f4e4ba35bf212702c18d6ec..ade4d7ce1b837d9ce59befcc32ca742030fdc5a6 100644 (file)
@@ -15,16 +15,17 @@ inspect-%:
        $(top_builddir)/elementgen/gsts-xmlinspect $(patsubst inspect-%,%,$@) > inspect/$(patsubst inspect-%,%,$@).raw
 
 all: $(XML_FILES) $(CS_FILES)
+       touch generated
 
-generated/%.cs: $(top_builddir)/elementgen/element-gen.exe $(CUSTOM_FILES) $(XML_FILES)
-       mkdir -p generated
+generated/%.cs: $(top_builddir)/elementgen/element-gen.exe $(srcdir)/../gstreamer-api.xml $(CUSTOM_FILES) %.xml
+       @mkdir -p generated
        $(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=$(NAMESPACE) \
                --api=$(srcdir)/../gstreamer-api.xml --input=$(patsubst generated/%.cs,%,$@) > $@
 
-%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(INSPECT_FILES) $(METADATA_FILES)
+%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe inspect/%.raw %.metadata
+       cp $(patsubst %.xml,inspect/%.raw,$@) $@
+       $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$@ --metadata=$(patsubst %.xml,%.metadata,$@)
+
+%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe inspect/%.raw
        cp $(patsubst %.xml,inspect/%.raw,$@) $@
-       if [ -e $(patsubst %.xml,%.metadata,$@) ]; then \
-               $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$@ \
-                       --metadata=$(patsubst %.xml,%.metadata,$@) ; \
-       fi
 
index 23df40351bf08646eac02f423497abd0ed5fe8f3..fdd66355f7676314d6ba00c8c967a2e16c8ed201 100644 (file)
@@ -20,16 +20,17 @@ inspect-%:
        $(top_builddir)/elementgen/gsts-xmlinspect $(patsubst inspect-%,%,$@) > inspect/$(patsubst inspect-%,%,$@).raw
 
 all: $(XML_FILES) $(CS_FILES)
+       touch generated
 
-generated/%.cs: $(top_builddir)/elementgen/element-gen.exe $(CUSTOM_FILES) $(XML_FILES)
-       mkdir -p generated
+generated/%.cs: $(top_builddir)/elementgen/element-gen.exe $(srcdir)/../gstreamer-api.xml $(CUSTOM_FILES) %.xml
+       @mkdir -p generated
        $(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=$(NAMESPACE) \
                --api=$(srcdir)/../gstreamer-api.xml --input=$(patsubst generated/%.cs,%,$@) > $@
 
-%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(INSPECT_FILES) $(METADATA_FILES)
+%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe inspect/%.raw %.metadata
+       cp $(patsubst %.xml,inspect/%.raw,$@) $@
+       $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$@ --metadata=$(patsubst %.xml,%.metadata,$@)
+
+%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe inspect/%.raw
        cp $(patsubst %.xml,inspect/%.raw,$@) $@
-       if [ -e $(patsubst %.xml,%.metadata,$@) ]; then \
-               $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$@ \
-                       --metadata=$(patsubst %.xml,%.metadata,$@) ; \
-       fi