diff options
author | Daniel Elstner <danielk@openismus.com> | 2009-08-13 15:39:02 +0200 |
---|---|---|
committer | Jonathon Jongsma <jjongsma@gnome.org> | 2009-08-13 11:08:52 -0500 |
commit | cbed810a9b06b1ea4a89df4ec448e39ab7280682 (patch) | |
tree | d6f968b608d01b847319b349b657068160aa0fa0 /Makefile.am | |
parent | d4000533781d05a550d3be40ca67d4429a01acec (diff) |
Review and clean up after build overhaul
* autogen.sh: Pass --enable-maintainer-mode to ./configure since the
automatic rebuild of the reference documentation is only enabled in
maintainer mode. AM_MAINTAINER_MODE is already in configure.ac.
* configure.ac (AC_CONFIG_HEADERS): Prepend build/config.h to the
list of header files, because the first file in the list has its .in
file generated by autoheader, and will thus include every AC_DEFINE
from every Autoconf macro that is used. The macros defined in the
installed cairommconfig.h header should be namespaced and limited to
meta information about the installed cairomm library.
Also move cairommconfig.h to the top-level directory, in order to
avoid the need to add the cairomm/ subdirectory to the include path.
(PKG_CHECK_MODULES): Collapse the checks for optional cairo modules
into a loop, and use PKG_CHECK_EXISTS() instead of the full-blown
PKG_CHECK_MODULES(). Also, be a bit cleverer about the lists of .pc
files and module names generated along the way.
(AC_CONFIG_FILES): List all potentially installed files literally,
instead of creating the list of output files dynamically. This is
much simpler and also gets us free shipping. Remove data/Makefile.
* cairommconfig.h.in: Add file to repository, as it should not be
autogenerated. Of the content, keep only the CAIROMM_ namespaced
macros.
* cairomm/context*.cc: Remove cairomm/ prefix from cairommconfig.h
include statements. This was already wrong before, but moving the
file around made it visible.
* Makefile.am: Clean up a bit.
(DIST_SUBDIRS): Have Automake figure it out automatically.
(cairomm_include_HEADERS): Remove, as cairomm/cairomm.h is already
installed in cairomm/Makefile.am.
(nodist_cairomm_libinclude_HEADERS): Relocate cairommconfig.h to
the top-level directory.
(nodist_pkgconfig_DATA): Use $(CAIROMM_INSTALL_PC) substitution from
configure.ac to install the appropriate pkg-config data files.
* cairomm/Makefile.am: Rewrite without using compile-binding.am, as
it is not really the appropriate tool for the cairomm job.
* cairomm/filelist.am (cairomm_cc): Rename from $(files_extra_cc).
(cairomm_public_h): Rename variable from $(files_extra_h) and remove
cairommconfig.h from the list.
(cairomm_private_h): Rename variable from $(files_extra_ph).
* docs/Makefile.am (doc_input): Adjust variable names.
(dist_noinst_DATA): Add reference/cairomm.css to the list.
(pubdocbase): Define for completeness.
(htmlrefpub): Correct documentation URL.
* docs/Doxyfile.in: Strip trailing whitespace from every line.
(STRIP_FROM_PATH), (STRIP_FROM_INC_PATH), (INCLUDE_PATH): Do not
strip the cairomm/ subdirectory prefix from the displayed filenames.
(EXCLUDE): Remove list of files to exclude, since the list of input
files is specified explicitly with the new build organization.
(EXPAND_AS_DEFINED): Expand version number macros, although at the
moment they are probably not used anywhere in the public headers.
* data/cairomm-*.pc.in: Use @PACKAGE_VERSION@ instead of @VERSION@.
* data/cairomm-1.0.pc.in (htmlrefpub): Correct documentation URL.
(Cflags): Add missing -I${libdir}/@CAIROMM_MODULE_NAME@/include.
* data/Makefile.am: Delete now unused build file.
* docs/reference/Makefile.am: Delete left-over build file.
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/Makefile.am b/Makefile.am index 161c9a6..6ec097b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,36 +1,46 @@ +## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/> +## +## This file is part of cairomm. +## +## cairomm is free software: you can redistribute it and/or modify it +## under the terms of the GNU Lesser General Public License as published +## by the Free Software Foundation, either version 2.1 of the License, +## or (at your option) any later version. +## +## cairomm 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 Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public License +## along with this library. If not, see <http://www.gnu.org/licenses/>. + +ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS} +DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal + if ENABLE_DOCUMENTATION doc_subdirs = docs else doc_subdirs = endif -SUBDIRS = cairomm $(doc_subdirs) data examples tests -ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS} -DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal +SUBDIRS = cairomm examples tests $(doc_subdirs) -cairomm_includedir = $(includedir)/$(CAIROMM_MODULE_NAME)/cairomm -cairomm_include_HEADERS = cairomm/cairomm.h cairomm_libincludedir = $(libdir)/$(CAIROMM_MODULE_NAME)/include -nodist_cairomm_libinclude_HEADERS = cairomm/cairommconfig.h +nodist_cairomm_libinclude_HEADERS = cairommconfig.h pkgconfigdir = $(libdir)/pkgconfig -nodist_pkgconfig_DATA = data/$(CAIROMM_MODULE_NAME).pc +nodist_pkgconfig_DATA = $(CAIROMM_INSTALL_PC) include $(srcdir)/MSVC_Net2005/filelist.am include $(srcdir)/MSVC_Net2008/filelist.am -msvc_files = $(msvc_net2005_data:%=MSVC_Net2005/%) $(msvc_net2008_data:%=MSVC_Net2008/%) - -dist_noinst_DATA = $(msvc_files) - -DISTCLEANFILES = MSVC_Net2005/cairomm/cairommconfig.h \ - MSVC_Net2008/cairomm/cairommconfig.h +msvc_files = $(addprefix MSVC_Net2005/,$(msvc_net2005_data)) \ + $(addprefix MSVC_Net2008/,$(msvc_net2008_data)) +dist_noinst_DATA = MAINTAINERS $(msvc_files) dist_noinst_SCRIPTS = autogen.sh -### -EXTRA_DIST = MAINTAINERS - -DIST_SUBDIRS = $(SUBDIRS) +DISTCLEANFILES = MSVC_Net2005/cairomm/cairommconfig.h MSVC_Net2008/cairomm/cairommconfig.h # Copied from cairo/Makefile.am: # @@ -44,11 +54,7 @@ RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases RELEASE_URL_BASE = http://cairographics.org/releases RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org) -GIT = $(top_srcdir)/missing --run git - -#MANUAL_DATED = cairo-manual-`date +%Y%m%d` -#MANUAL_TAR_FILE = $(MANUAL_DATED).tar.gz -#MANUAL_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE) +GIT = $(top_srcdir)/build/missing --run git tar_file = $(PACKAGE)-$(VERSION).tar.gz sha1_file = $(tar_file).sha1 @@ -97,10 +103,8 @@ release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)" $(GIT) tag -s -m "$(PACKAGE) release $(PACKAGE_VERSION)" v$(PACKAGE_VERSION) -doc-publish: - (cd docs/reference && $(MAKE) $(AM_MAKEFLAGS) publish) - -release-publish: release-upload doc-publish releases/$(sha1_file) +# TODO: Had to remove the doc-publish target for now. +release-publish: release-upload releases/$(sha1_file) @echo "" @echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)" @echo "including the following:" @@ -134,4 +138,3 @@ release-publish: release-upload doc-publish releases/$(sha1_file) @echo "version component to the next (odd) number and commit." .PHONY: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky release-check release-upload release-publish - |