scanner: Warn if we're missing (element-type) for GPtrArray
[platform/upstream/gobject-introspection.git] / Makefile.am
1 man_MANS =
2 EXTRA_DIST =
3 lib_LTLIBRARIES =
4 noinst_LTLIBRARIES =
5 BUILT_SOURCES =
6 CLEANFILES = $(BUILT_SOURCES)
7 INTROSPECTION_GIRS =
8 check_LTLIBRARIES =
9 check_PROGRAMS =
10 bin_PROGRAMS =
11 bin_SCRIPTS =
12 GTESTER_PROGS =
13 noinst_PROGRAMS = $(GTESTER_PROGS)
14
15 include common.mk
16 include Makefile.introspection
17
18 include Makefile-cmph.am
19 include Makefile-girepository.am
20 include Makefile-giscanner.am
21 include Makefile-examples.am
22 include Makefile-gir.am
23 include Makefile-tools.am
24 include Makefile-msvcproj.am
25
26 ## Process this file with automake to produce Makefile.in
27 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
28
29 SUBDIRS = . docs tests build
30
31 DIST_SUBDIRS = m4 $(SUBDIRS)
32 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
33
34 man_MANS +=                     \
35         docs/g-ir-compiler.1    \
36         docs/g-ir-generate.1    \
37         docs/g-ir-scanner.1
38
39 pkgconfigdir = $(libdir)/pkgconfig
40 pkgconfig_DATA = gobject-introspection-1.0.pc gobject-introspection-no-export-1.0.pc
41
42 m4dir = $(datadir)/aclocal
43 m4_DATA = m4/introspection.m4
44
45 makedir = $(datadir)/gobject-introspection-1.0
46 dist_make_DATA = Makefile.introspection
47
48 EXTRA_DIST +=                   \
49         COPYING.LGPL            \
50         COPYING.GPL             \
51         CONTRIBUTORS            \
52         $(pkgconfig_DATA)       \
53         $(man_MANS)             \
54         $(m4_DATA)              \
55         misc/pep8.py            \
56         misc/pre-commit         \
57         misc/pyflakes.py
58
59 check-local:
60         gtester --verbose $(GTESTER_PROGS)
61         @test ! -d $(top_srcdir)/.git || (test -f $(top_srcdir)/.git/hooks/pre-commit || (echo -e "ERROR: missing \
62         pre-commit hook.\n\ncopy misc/pre-commit to .git/hooks"; false))
63         @test ! -d $(top_srcdir)/.git || (test -x $(top_srcdir)/.git/hooks/pre-commit || (echo -e "ERROR: pre-commit \
64         is not executable\n\nrun chmod +x .git/hooks/pre-commit"; false))
65         @echo "TEST: PEP-8 INQUISITION"
66         @find $(top_srcdir)/giscanner -name \*.py | sort | uniq | xargs $(PYTHON) $(top_srcdir)/misc/pep8.py --repeat --exclude=config.py
67         @echo "TEST: Annotation pattern programs"
68         PYTHONPATH="$(top_builddir):$(top_srcdir)" $(PYTHON) $(top_srcdir)/tests/scanner/annotationparser/test_patterns.py
69         @echo "TEST: GTK-Doc Annotation Parser"
70         PYTHONPATH="$(top_builddir):$(top_srcdir)" $(PYTHON) $(top_srcdir)/tests/scanner/annotationparser/test_parser.py
71         @touch $(top_builddir)/.make-check-passed
72
73 check-pyflakes:
74         @echo "  CHECK Pyflakes"
75         @find $(top_srcdir)/giscanner -name \*.py | sort | uniq | xargs $(PYTHON) $(top_srcdir)/misc/pyflakes.py
76
77
78 # Colin's handy Makefile bits for:
79 # 1) stuffing tarballs with pre-generated scripts from your workstation
80 # 2) bumping configure.ac version post-release
81 # 3) tagging correctly in git
82 # 4) uploading to gnome.org
83 # To use:
84 #  $ make check
85 #  $ make dist
86 #  $ make prepare-minor-release
87
88 # Customize to taste
89 TAG_PREFIX=GOBJECT_INTROSPECTION_
90 COMPRESSION=.xz
91
92
93 PACKAGE=@PACKAGE@
94 VERSION=@VERSION@
95 DISTNAME=$(PACKAGE)-$(VERSION).tar$(COMPRESSION)
96 TAG_VERSION=$(shell echo $(VERSION) |sed s/\\\./_/g)
97
98 prepare-release-tag: Makefile
99         git tag -m "Tag $(TAG_VERSION)" -a $(TAG_PREFIX)$(TAG_VERSION)
100
101 prepare-minor-release: $(DISTNAME) prepare-release-tag Makefile
102         env top_srcdir=$(top_srcdir) python $(top_srcdir)/tools/verbump.py
103
104 upload-release: $(DISTNAME) Makefile
105         git log origin/master..master
106         @echo -n "Ok to push? [y/N] "; read ans; test x$$ans == xy || exit 1
107         git push --tags origin master:master
108         scp $(DISTNAME) master.gnome.org:
109         ssh master.gnome.org install-module $(DISTNAME)
110