summaryrefslogtreecommitdiffstats
path: root/manuals_and_examples/Makefile.am
blob: 7768b2fb29d14250df9eb5e119277a266551dd01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#
# This file is part of rasdaman community.
#
# Rasdaman community is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Rasdaman community is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with rasdaman community.  If not, see <http://www.gnu.org/licenses/>.
#
# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
# rasdaman GmbH.
#
# For more information please see <http://www.rasdaman.org>
# or contact Peter Baumann via <baumann@rasdaman.com>. 
####################################################################

nobase_dist_pkgdata_DATA =
include $(srcdir)/example-files.mk

dist-hook:
	(echo "# DO NOT MODIFY THIS FILE"; \
	echo "# This file was autogenerated by the dist-hook target"; \
	cd $(srcdir) && \
	find examples -type f -not -name '.*' \
	) | $(SED) 's,^\([^#]\),nobase_dist_pkgdata_DATA += \1,' \
	> example-files.mk.new
	if test -f "$(srcdir)/example-files.mk" \
	&& cmp "example-files.mk.new" "$(srcdir)/example-files.mk"; then \
		rm -f "example-files.mk.new"; \
	else \
		mv -f "example-files.mk.new" "$(srcdir)/example-files.mk"; \
	fi

EXTRA_DIST = manuals

dest_Makefile=$(DESTDIR)$(pkgdatadir)/examples/c++/Makefile

# Set the rasdaman installation root to allow Make finding
# include/ and lib/ for the C++ examples.
install-data-hook:
	$(SED) \
		-e 's|[@]pkgincludedir@|$(pkgincludedir)|g' \
		-e 's|[@]pkglibdir@|$(pkglibdir)|g' \
		< $(dest_Makefile) > $(dest_Makefile).new
	mv -f $(dest_Makefile).new $(dest_Makefile)

CLEANFILES =

DOXYGEN_TARGETS  =
DOXYGEN_TARGETS += doxygen-all.doxystamp
DOXYGEN_TARGETS += doxygen-api.doxystamp
DOXYGEN_TARGETS += doxygen-basedbms.doxystamp
# DOXYGEN_TARGETS += doxygen-server.doxystamp

CLEANFILES += $(DOXYGEN_TARGETS)

EXTRA_DIST += doxygen-all.cfg.in
EXTRA_DIST += doxygen-api.cfg.in
EXTRA_DIST += doxygen-basedbms.cfg.in
# EXTRA_DIST += doxygen-server.cfg.in

SUFFIXES = .cfg.in .cfg
.cfg.in.cfg:
	$(SED) \
		-e "s,[@]top_srcdir@,$$(cd "$(top_srcdir)" && pwd),g" \
		-e "s,[@]top_builddir@,$$(cd "$(top_builddir)" && pwd),g" \
		-e "s,[@]PACKAGE@,$(PACKAGE),g" \
		-e "s,[@]VERSION@,$(VERSION),g" \
		$< > $@

# Build documentation
if HAVE_DOXYGEN
CFG_TO_DIR = $(SED) -n 's,^doxygen-\([[:alpha:]]*\)\.cfg,dox-manuals/doc-\1,p'

all-local: $(DOXYGEN_TARGETS)

SUFFIXES += .doxystamp .cfg
.cfg.doxystamp:
	rm -f "$@"
	$(MKDIR_P) "$$(echo "$<" | $(CFG_TO_DIR))"
	$(DOXYGEN) "$<"
	date > $@

clean-local:
	rm -rf dox-manuals
	rm -f doxygen-*.cfg
endif

# Install the documentation, in two parts: The stuff from $(srcdir)
# and the doxygen built docs from the builddir "."
install-data-local:
	$(INSTALL) -m 0755 -d $(DESTDIR)$(pkgdatadir)/doc
	cp -R $(srcdir)/manuals/ $(DESTDIR)$(pkgdatadir)/doc
if HAVE_DOXYGEN
	if test -d dox-manuals; then \
		cp -R dox-manuals/* $(DESTDIR)$(pkgdatadir)/doc; \
	fi
endif
	find $(DESTDIR)$(pkgdatadir)/doc \
		\( -type d -exec chmod 0755 {} \; \) -or \
		\( -type f -exec chmod 0644 {} \; \)

uninstall-local:
	rm -rf $(DESTDIR)$(pkgdatadir)/doc