diff --git a/.gitignore b/.gitignore deleted file mode 100644 index bddb087d..00000000 --- a/.gitignore +++ /dev/null @@ -1,84 +0,0 @@ -*.la -*.lo -*.loT -*.o -*.so -*~ -*.pyc -Makefile -Makefile.in -.deps -.libs -INSTALL -aclocal.m4 -autom4te.cache -compile -config.guess -config.h -config.h.in -config.log -config.rpath -config.status -config.sub -configure -depcomp -install-sh -libtool -ltmain.sh -missing -stamp-h1 -libkeyactor*.tar.* -mkinstalldirs -m4/*.m4 -gtk-doc.make -eek/eek-special-keysym-entries.h -eek/eek-unicode-keysym-entries.h -eek/eek-xkeysym-keysym-entries.h -eek/eek-enumtypes.[ch] -eek/eek-marshalers.[ch] -eek/*.pc -eek/*.gir -eek/*.typelib -eekboard/*.pc -eekboard/*.gir -eekboard/*.typelib -eekboard/eekboard-marshalers.[ch] -tests/eek-simple-test -tests/eek-xkb-test -tests/eek-xml-test -src/eekboard -src/eekboard-server -docs/reference/eek/*.stamp -docs/reference/eek/*.txt -docs/reference/eek/eek.types -!/docs/reference/eek/eek-sections.txt -docs/reference/eek/xml -docs/reference/eek/html -docs/reference/eek/eek.signals -docs/reference/eek/eek.args -docs/reference/eek/eek.hierarchy -docs/reference/eek/eek.interfaces -docs/reference/eek/eek.prerequisites -docs/reference/eekboard/*.stamp -docs/reference/eekboard/*.txt -!/docs/reference/eekboard/eekboard-sections.txt -docs/reference/eekboard/xml -docs/reference/eekboard/html -docs/reference/eekboard/eekboard.signals -docs/reference/eekboard/eekboard.args -docs/reference/eekboard/eekboard.hierarchy -docs/reference/eekboard/eekboard.interfaces -docs/reference/eekboard/eekboard.prerequisites -po/*.gmo -po/Makefile.in.in -po/POTFILES -po/stamp-it -po/.intltool-merge-cache -bindings/vala/*.vapi -py-compile -data/org.fedorahosted.eekboard.gschema.xml -data/org.fedorahosted.eekboard.gschema.valid -data/eekboard-server.service -data/*.desktop -examples/eekxml/eekxml - diff --git a/Makefile.am b/Makefile.am index 2dbe4afa..b1ecf130 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,3 +19,21 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = eek eekboard src tests bindings docs po data examples DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection + +GITIGNOREFILES = \ + INSTALL \ + aclocal.m4 \ + compile \ + config.guess \ + config.h.in \ + config.sub \ + depcomp \ + gtk-doc.make \ + install-sh \ + ltmain.sh \ + m4 \ + missing \ + mkinstalldirs \ + $(NULL) + +-include $(top_srcdir)/git.mk diff --git a/bindings/Makefile.am b/bindings/Makefile.am index 1bdbd89d..b6305081 100644 --- a/bindings/Makefile.am +++ b/bindings/Makefile.am @@ -17,3 +17,5 @@ # 02110-1301 USA SUBDIRS = vala + +-include $(top_srcdir)/git.mk diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am index 7acccdd4..c1138328 100644 --- a/bindings/vala/Makefile.am +++ b/bindings/vala/Makefile.am @@ -33,6 +33,12 @@ EXTRA_DIST = \ EekXkl-$(EEK_API_VERSION).metadata \ $(NULL) +GITIGNOREFILES = \ + eek-$(EEK_API_VERSION).vapi \ + eek-gtk-$(EEK_API_VERSION).vapi \ + eek-xkl-$(EEK_API_VERSION).vapi \ + $(NULL) + maintainer-clean-local: rm -f *.vapi @@ -81,3 +87,5 @@ VAPIGEN_V = $(VAPIGEN_V_$(V)) VAPIGEN_V_ = $(VAPIGEN_V_$(AM_DEFAULT_VERBOSITY)) VAPIGEN_V_0 = @echo " VAPIG " $@; endif + +-include $(top_srcdir)/git.mk diff --git a/data/Makefile.am b/data/Makefile.am index 25d55ba8..03712c8c 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -32,3 +32,4 @@ CLEANFILES += $(autostart_DATA) EXTRA_DIST += $(autostart_in_files) endif +-include $(top_srcdir)/git.mk diff --git a/data/icons/16x16/Makefile.am b/data/icons/16x16/Makefile.am index f4ccb691..524bdceb 100644 --- a/data/icons/16x16/Makefile.am +++ b/data/icons/16x16/Makefile.am @@ -14,3 +14,4 @@ install-data-hook: echo "*** $(gtk_update_icon_cache)"; \ fi +-include $(top_srcdir)/git.mk diff --git a/data/icons/22x22/Makefile.am b/data/icons/22x22/Makefile.am index 5e760758..0e18c13d 100644 --- a/data/icons/22x22/Makefile.am +++ b/data/icons/22x22/Makefile.am @@ -14,3 +14,4 @@ install-data-hook: echo "*** $(gtk_update_icon_cache)"; \ fi +-include $(top_srcdir)/git.mk diff --git a/data/icons/24x24/Makefile.am b/data/icons/24x24/Makefile.am index 26e71054..1e9f3cc0 100644 --- a/data/icons/24x24/Makefile.am +++ b/data/icons/24x24/Makefile.am @@ -14,3 +14,4 @@ install-data-hook: echo "*** $(gtk_update_icon_cache)"; \ fi +-include $(top_srcdir)/git.mk diff --git a/data/icons/32x32/Makefile.am b/data/icons/32x32/Makefile.am index 88be9042..26ddf91a 100644 --- a/data/icons/32x32/Makefile.am +++ b/data/icons/32x32/Makefile.am @@ -14,3 +14,4 @@ install-data-hook: echo "*** $(gtk_update_icon_cache)"; \ fi +-include $(top_srcdir)/git.mk diff --git a/data/icons/48x48/Makefile.am b/data/icons/48x48/Makefile.am index d516f44a..f0098267 100644 --- a/data/icons/48x48/Makefile.am +++ b/data/icons/48x48/Makefile.am @@ -14,3 +14,4 @@ install-data-hook: echo "*** $(gtk_update_icon_cache)"; \ fi +-include $(top_srcdir)/git.mk diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am index 31513f34..014b2e4a 100644 --- a/data/icons/Makefile.am +++ b/data/icons/Makefile.am @@ -1 +1,3 @@ SUBDIRS = 16x16 22x22 24x24 32x32 48x48 scalable + +-include $(top_srcdir)/git.mk diff --git a/data/icons/scalable/Makefile.am b/data/icons/scalable/Makefile.am index 146e296e..ebd0c67e 100644 --- a/data/icons/scalable/Makefile.am +++ b/data/icons/scalable/Makefile.am @@ -12,3 +12,4 @@ install-data-hook: echo "*** $(gtk_update_icon_cache)"; \ fi +-include $(top_srcdir)/git.mk diff --git a/data/keyboards/Makefile.am b/data/keyboards/Makefile.am index bf80cae4..42daafc5 100644 --- a/data/keyboards/Makefile.am +++ b/data/keyboards/Makefile.am @@ -36,3 +36,5 @@ inscript_symbols = \ symbols/ta-inscript.xml \ symbols/te-inscript.xml \ $(NULL) + +-include $(top_srcdir)/git.mk diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 68a0f6fa..7d67e703 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -1,2 +1,4 @@ themedir = $(pkgdatadir)/themes dist_theme_DATA = default.css + +-include $(top_srcdir)/git.mk diff --git a/docs/Makefile.am b/docs/Makefile.am index d081ace8..4a0459ba 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -16,4 +16,6 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA -SUBDIRS = reference \ No newline at end of file +SUBDIRS = reference + +-include $(top_srcdir)/git.mk diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am index 62f0a4ef..d3974618 100644 --- a/docs/reference/Makefile.am +++ b/docs/reference/Makefile.am @@ -17,3 +17,5 @@ # 02110-1301 USA SUBDIRS = eek eekboard + +-include $(top_srcdir)/git.mk diff --git a/docs/reference/eek/Makefile.am b/docs/reference/eek/Makefile.am index 71a694be..e287c2a0 100644 --- a/docs/reference/eek/Makefile.am +++ b/docs/reference/eek/Makefile.am @@ -129,3 +129,5 @@ if ENABLE_GTK_DOC endif -include $(top_srcdir)/gtk-doc.mk + +-include $(top_srcdir)/git.mk diff --git a/docs/reference/eekboard/Makefile.am b/docs/reference/eekboard/Makefile.am index 33ff927b..4b3b6f89 100644 --- a/docs/reference/eekboard/Makefile.am +++ b/docs/reference/eekboard/Makefile.am @@ -118,3 +118,5 @@ if ENABLE_GTK_DOC endif -include $(top_srcdir)/gtk-doc.mk + +-include $(top_srcdir)/git.mk diff --git a/eek/Makefile.am b/eek/Makefile.am index c548c708..2a7260e7 100644 --- a/eek/Makefile.am +++ b/eek/Makefile.am @@ -239,3 +239,5 @@ typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) CLEANFILES += $(gir_DATA) $(typelib_DATA) endif + +-include $(top_srcdir)/git.mk diff --git a/eekboard/Makefile.am b/eekboard/Makefile.am index 5478d291..61207405 100644 --- a/eekboard/Makefile.am +++ b/eekboard/Makefile.am @@ -103,3 +103,5 @@ typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) CLEANFILES += $(gir_DATA) $(typelib_DATA) endif + +-include $(top_srcdir)/git.mk diff --git a/examples/Makefile.am b/examples/Makefile.am index 3165c622..4a32b9e5 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1 +1,3 @@ SUBDIRS = simple-client + +-include $(top_srcdir)/git.mk diff --git a/examples/simple-client/Makefile.am b/examples/simple-client/Makefile.am index 2ead30f9..9d10bc6b 100644 --- a/examples/simple-client/Makefile.am +++ b/examples/simple-client/Makefile.am @@ -1 +1,3 @@ EXTRA_DIST = simple-client + +-include $(top_srcdir)/git.mk diff --git a/git.mk b/git.mk new file mode 100644 index 00000000..53133583 --- /dev/null +++ b/git.mk @@ -0,0 +1,218 @@ +# git.mk +# +# Copyright 2009, Red Hat, Inc. +# Copyright 2010,2011 Behdad Esfahbod +# Written by Behdad Esfahbod +# +# Copying and distribution of this file, with or without modification, +# is permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. +# +# The canonical source for this file is https://github.com/behdad/git.mk. +# +# To use in your project, import this file in your git repo's toplevel, +# then do "make -f git.mk". This modifies all Makefile.am files in +# your project to -include git.mk. Remember to add that line to new +# Makefile.am files you create in your project, or just rerun the +# "make -f git.mk". +# +# This enables automatic .gitignore generation. If you need to ignore +# more files, add them to the GITIGNOREFILES variable in your Makefile.am. +# But think twice before doing that. If a file has to be in .gitignore, +# chances are very high that it's a generated file and should be in one +# of MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, or MAINTAINERCLEANFILES. +# +# The only case that you need to manually add a file to GITIGNOREFILES is +# when remove files in one of mostlyclean-local, clean-local, distclean-local, +# or maintainer-clean-local make targets. +# +# Note that for files like editor backup, etc, there are better places to +# ignore them. See "man gitignore". +# +# If "make maintainer-clean" removes the files but they are not recognized +# by this script (that is, if "git status" shows untracked files still), send +# me the output of "git status" as well as your Makefile.am and Makefile for +# the directories involved and I'll diagnose. +# +# For a list of toplevel files that should be in MAINTAINERCLEANFILES, see +# Makefile.am.sample in the git.mk git repo. +# +# Don't EXTRA_DIST this file. It is supposed to only live in git clones, +# not tarballs. It serves no useful purpose in tarballs and clutters the +# build dir. +# +# This file knows how to handle autoconf, automake, libtool, gtk-doc, +# gnome-doc-utils, yelp.m4, mallard, intltool, gsettings, dejagnu. +# +# +# KNOWN ISSUES: +# +# - Recursive configure doesn't work as $(top_srcdir)/git.mk inside the +# submodule doesn't find us. If you have configure.{in,ac} files in +# subdirs, add a proxy git.mk file in those dirs that simply does: +# "include $(top_srcdir)/../git.mk". Add more ..'s to your taste. +# And add those files to git. See vte/gnome-pty-helper/git.mk for +# example. +# + +git-all: git-mk-install + +git-mk-install: + @echo Installing git makefile + @any_failed=; \ + find "`test -z "$(top_srcdir)" && echo . || echo "$(top_srcdir)"`" -name Makefile.am | while read x; do \ + if grep 'include .*/git.mk' $$x >/dev/null; then \ + echo $$x already includes git.mk; \ + else \ + failed=; \ + echo "Updating $$x"; \ + { cat $$x; \ + echo ''; \ + echo '-include $$(top_srcdir)/git.mk'; \ + } > $$x.tmp || failed=1; \ + if test x$$failed = x; then \ + mv $$x.tmp $$x || failed=1; \ + fi; \ + if test x$$failed = x; then : else \ + echo Failed updating $$x; >&2 \ + any_failed=1; \ + fi; \ + fi; done; test -z "$$any_failed" + +.PHONY: git-all git-mk-install + + +### .gitignore generation + +$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk + $(AM_V_GEN) \ + { \ + if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \ + for x in \ + $(DOC_MODULE)-decl-list.txt \ + $(DOC_MODULE)-decl.txt \ + tmpl/$(DOC_MODULE)-unused.sgml \ + "tmpl/*.bak" \ + xml html \ + ; do echo /$$x; done; \ + fi; \ + if test "x$(DOC_MODULE)$(DOC_ID)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \ + for lc in $(DOC_LINGUAS); do \ + for x in \ + $(if $(DOC_MODULE),$(DOC_MODULE).xml) \ + $(DOC_PAGES) \ + $(DOC_INCLUDES) \ + ; do echo /$$lc/$$x; done; \ + done; \ + for x in \ + $(_DOC_OMF_ALL) \ + $(_DOC_DSK_ALL) \ + $(_DOC_HTML_ALL) \ + $(_DOC_MOFILES) \ + $(DOC_H_FILE) \ + "*/.xml2po.mo" \ + "*/*.omf.out" \ + ; do echo /$$x; done; \ + fi; \ + if test "x$(HELP_ID)" = x -o "x$(HELP_LINGUAS)" = x; then :; else \ + for lc in $(HELP_LINGUAS); do \ + for x in \ + $(HELP_FILES) \ + "$$lc.stamp" \ + "$$lc.mo" \ + ; do echo /$$lc/$$x; done; \ + done; \ + fi; \ + if test "x$(gsettings_SCHEMAS)" = x; then :; else \ + for x in \ + $(gsettings_SCHEMAS:.xml=.valid) \ + $(gsettings__enum_file) \ + ; do echo /$$x; done; \ + fi; \ + if test -f $(srcdir)/po/Makefile.in.in; then \ + for x in \ + po/Makefile.in.in \ + po/Makefile.in \ + po/Makefile \ + po/POTFILES \ + po/stamp-it \ + po/.intltool-merge-cache \ + "po/*.gmo" \ + "po/*.mo" \ + po/$(GETTEXT_PACKAGE).pot \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in \ + ; do echo /$$x; done; \ + fi; \ + if test -f $(srcdir)/configure; then \ + for x in \ + autom4te.cache \ + configure \ + config.h \ + stamp-h1 \ + libtool \ + config.lt \ + ; do echo /$$x; done; \ + fi; \ + if test "x$(DEJATOOL)" = x; then :; else \ + for x in \ + $(DEJATOOL) \ + ; do echo /$$x.sum; echo /$$x.log; done; \ + echo /site.exp; \ + fi; \ + for x in \ + .gitignore \ + $(GITIGNOREFILES) \ + $(CLEANFILES) \ + $(PROGRAMS) \ + $(check_PROGRAMS) \ + $(EXTRA_PROGRAMS) \ + $(LTLIBRARIES) \ + so_locations \ + .libs _libs \ + $(MOSTLYCLEANFILES) \ + "*.$(OBJEXT)" \ + "*.lo" \ + $(DISTCLEANFILES) \ + $(am__CONFIG_DISTCLEAN_FILES) \ + $(CONFIG_CLEAN_FILES) \ + TAGS ID GTAGS GRTAGS GSYMS GPATH tags \ + "*.tab.c" \ + $(MAINTAINERCLEANFILES) \ + $(BUILT_SOURCES) \ + $(DEPDIR) \ + Makefile \ + Makefile.in \ + "*.orig" \ + "*.rej" \ + "*.bak" \ + "*~" \ + ".*.sw[nop]" \ + ".dirstamp" \ + ; do echo /$$x; done; \ + } | \ + sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \ + sed 's@/[.]/@/@g' | \ + LC_ALL=C sort | uniq > $@.tmp && \ + mv $@.tmp $@; + +all: $(srcdir)/.gitignore gitignore-recurse-maybe +gitignore-recurse-maybe: + @if test "x$(SUBDIRS)" = "x$(DIST_SUBDIRS)"; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) gitignore-recurse; \ + fi; +gitignore-recurse: + @for subdir in $(DIST_SUBDIRS); do \ + case " $(SUBDIRS) " in \ + *" $$subdir "*) :;; \ + *) test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) .gitignore gitignore-recurse || echo "Skipping $$subdir");; \ + esac; \ + done +gitignore: $(srcdir)/.gitignore gitignore-recurse + +maintainer-clean: gitignore-clean +gitignore-clean: + -rm -f $(srcdir)/.gitignore + +.PHONY: gitignore-clean gitignore gitignore-recurse gitignore-recurse-maybe diff --git a/src/Makefile.am b/src/Makefile.am index 430d6a9f..598e7e94 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -128,3 +128,5 @@ noinst_HEADERS = \ $(eekboard_server_headers) \ $(eekboard_setup_headers) \ $(NULL) + +-include $(top_srcdir)/git.mk diff --git a/tests/Makefile.am b/tests/Makefile.am index b0258758..bc07b387 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -28,3 +28,5 @@ eek_simple_test_LDADD = $(top_builddir)/eek/libeek.la $(GIO2_LIBS) eek_xml_test_SOURCES = eek-xml-test.c eek_xml_test_LDADD = $(top_builddir)/eek/libeek.la $(top_builddir)/eek/libeek-xkl.la $(GIO2_LIBS) $(GTK_LIBS) + +-include $(top_srcdir)/git.mk