Makefile.am 4.44 KB
Newer Older
Elliot Lee's avatar
Elliot Lee committed
1 2
## Process this file with automake to produce Makefile.in

3
ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
4

5 6 7 8
if WITH_PDBGEN
PDB = pdb
endif

9
SUBDIRS = \
10 11 12 13 14 15
	m4macros		\
	cursors			\
	themes			\
	po			\
	po-libgimp		\
	po-plug-ins		\
16
	po-python		\
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
	po-script-fu		\
	po-tips			\
	po-windows-installer	\
	data			\
	desktop			\
	menus			\
	libgimpbase		\
	tools			\
	$(PDB)			\
	icons			\
	libgimpcolor		\
	libgimpmath		\
	libgimpconfig		\
	libgimpmodule		\
	libgimpthumb		\
	libgimpwidgets		\
	libgimp			\
	app			\
35
	app-tools		\
36 37 38
	$(GIMP_MODULES)		\
	$(GIMP_PLUGINS)		\
	etc			\
39
	devel-docs		\
40
	docs			\
41
	build
Elliot Lee's avatar
Elliot Lee committed
42

43
pkgconfigdir = $(libdir)/pkgconfig
44
pkgconfig_DATA = \
45 46 47
	gimp-@GIMP_PKGCONFIG_VERSION@.pc	\
	gimpthumb-@GIMP_PKGCONFIG_VERSION@.pc	\
	gimpui-@GIMP_PKGCONFIG_VERSION@.pc
48

Sven Neumann's avatar
Sven Neumann committed
49

50
AUTHORS: authors.xml authors.xsl
Sven Neumann's avatar
Sven Neumann committed
51
if HAVE_XSLTPROC
52
	$(XSLTPROC) -o $(@) $(top_srcdir)/authors.xsl $< || rm -f $(@)
Sven Neumann's avatar
Sven Neumann committed
53 54
endif

55 56 57 58
authors.md: authors.xml authors4gimp-web.xsl
if HAVE_XSLTPROC
	$(XSLTPROC) --stringparam today "`date --iso-8601=seconds`" -o $(@) $(top_srcdir)/authors4gimp-web.xsl $< || rm -f $(@)
endif
Sven Neumann's avatar
Sven Neumann committed
59

60
EXTRA_DIST = \
61 62 63 64 65
	AUTHORS			\
	COPYING			\
	ChangeLog		\
	ChangeLog.pre-1-0	\
	ChangeLog.pre-1-2	\
66
	ChangeLog.pre-2-0	\
67 68
	ChangeLog.pre-2-2	\
	ChangeLog.pre-2-4	\
69
	ChangeLog.pre-2-6	\
70
	ChangeLog.pre-git	\
71 72
	HACKING			\
	INSTALL			\
Sven Neumann's avatar
Sven Neumann committed
73
	LICENSE			\
74
	NEWS			\
75
	NEWS.pre-2-0		\
76
	NEWS.pre-2-2		\
77
	NEWS.pre-2-4		\
78
	NEWS.pre-2-6		\
79
	NEWS.pre-2-8		\
80
	NEWS.pre-2-10		\
81 82
	README			\
	README.i18n		\
Sven Neumann's avatar
Sven Neumann committed
83 84 85
	authors.dtd		\
	authors.xml		\
	authors.xsl		\
86
	config.h.win32		\
87
	gimp-zip.in		\
88
	git-version.h		\
89
	gtk-doc.make
Elliot Lee's avatar
Elliot Lee committed
90

91

92
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
93

Sven Neumann's avatar
Sven Neumann committed
94

Sven Neumann's avatar
Sven Neumann committed
95
check-defs:
96 97
	@$(PYTHON) $(top_srcdir)/tools/defcheck.py $(top_srcdir) || \
	  ( echo "*** .def files inconsistent ***"; exit 1; )
Sven Neumann's avatar
Sven Neumann committed
98 99 100

validate-authors:
if HAVE_XMLLINT
101 102 103
	@cd $(srcdir); \
	$(XMLLINT) --noout --valid authors.xml || \
	  ( echo "*** authors.xml INVALID ***"; exit 1; )
Sven Neumann's avatar
Sven Neumann committed
104 105
endif

106
all-local: AUTHORS
Sven Neumann's avatar
Sven Neumann committed
107

Sven Neumann's avatar
Sven Neumann committed
108
dist-hook: check-defs validate-authors
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129



CHANGELOG_START = 74424325abb54620b370f2595445b2b2a19fe5e7

ChangeLog: $(srcdir)/ChangeLog $(srcdir)/ChangeLog.pre-git
$(srcdir)/ChangeLog:
	@echo Creating $@ based on git log
	@if test -d "$(srcdir)/.git"; then \
	  (GIT_DIR=$(top_srcdir)/.git ./missing --run \
	   git log $(CHANGELOG_START)^.. --stat) | fmt --split-only > $@.tmp \
	  && mv -f $@.tmp $@ && echo Appending ChangeLog.pre-git && cat ChangeLog.pre-git >> $@ \
	  || ($(RM) $@.tmp; \
	      echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
	      (test -f $@ || echo git-log is required to generate this file >> $@)); \
	else \
	  test -f $@ || \
	  (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
	  echo A git checkout and git-log is required to generate this file >> $@); \
	fi
.PHONY: $(srcdir)/ChangeLog
130

131
generated_sources = \
132 133 134 135
	git-version.h

# Build git-version.h before anything in the subdirs as this is needed
# in the about and debug dialog (app/) and in the debug tool (tools/).
136
BUILT_SOURCES = $(generated_sources)
137

138
CLEANFILES = $(generated_sources)
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

# If git is available, always check if git-version.h should be
# updated. If git is not available, don't do anything if git-version.h
# already exists because then we are probably working with a tarball
# in which case the git-version.h we ship is correct.
git-version.h: update-git-version-header
	@if test -e "$(top_srcdir)/.git"; then \
	  git_version="`git --git-dir=$(top_srcdir)/.git describe --always`"; \
	  git_version_abbrev="`git --git-dir=$(top_srcdir)/.git rev-parse --short HEAD`"; \
	  git_last_commit_year="`git --git-dir=$(top_srcdir)/.git log -n1 --reverse --pretty=%ci | cut -b 1-4`"; \
	elif test ! -f "$@"; then \
	  git_version="Unknown, shouldn't happen"; \
	  git_version_abbrev="$$git_version"; \
	  git_last_commit_timestamp=-1; \
	  git_last_commit_year="`date -u '+%Y'`"; \
	fi; \
	if test -n "$$git_version"; then \
	  echo "#ifndef __GIT_VERSION_H__" > "$@.tmp"; \
	  echo "#define __GIT_VERSION_H__" >> "$@.tmp"; \
	  echo "#define GIMP_GIT_VERSION \"$$git_version\"" >> "$@.tmp"; \
	  echo "#define GIMP_GIT_VERSION_ABBREV \"$$git_version_abbrev\"" >> "$@.tmp"; \
	  echo "#define GIMP_GIT_LAST_COMMIT_YEAR \"$$git_last_commit_year\"" >> "$@.tmp"; \
	  echo "#endif /* __GIT_VERSION_H__ */" >> "$@.tmp"; \
	fi
	@if ( test -f "$@.tmp" && test -f "$@" && cmp "$@.tmp" "$@" > /dev/null ); then \
	  rm -f "$@.tmp"; \
	elif test -f "$@.tmp"; then \
	  mv "$@.tmp" "$@"; \
	  echo "  git HEAD changed: $@ regenerated"; \
	fi

.PHONY: update-git-version-header