Blame Makefile.am

Packit 15a5a8
# Copyright (C) 2005, 2006, 2007 Red Hat, Inc. All rights reserved.
Packit 15a5a8
# This copyrighted material is made available to anyone wishing to use, modify,
Packit 15a5a8
# copy, or redistribute it subject to the terms and conditions of the GNU
Packit 15a5a8
# General Public License v.2.
Packit 15a5a8
Packit 15a5a8
# This program is distributed in the hope that it will be useful, but WITHOUT
Packit 15a5a8
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
Packit 15a5a8
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
Packit 15a5a8
# details.
Packit 15a5a8
Packit 15a5a8
# You should have received a copy of the GNU General Public License along with
Packit 15a5a8
# this program; if not, write to the Free Software Foundation, Inc., 51
Packit 15a5a8
# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Packit 15a5a8
Packit 15a5a8
# Author: Miloslav Trmac <mitr@redhat.com>
Packit 15a5a8
Packit 15a5a8
## Process this file with automake to produce Makefile.in
Packit 15a5a8
Packit 15a5a8
## Settings
Packit 15a5a8
dbdir = $(localstatedir)/mlocate
Packit 15a5a8
dbfile = $(dbdir)/mlocate.db
Packit 15a5a8
groupname = mlocate
Packit 15a5a8
updatedb_conf = $(sysconfdir)/updatedb.conf
Packit 15a5a8
# autopoint puts its m4 files to the first directory
Packit 15a5a8
ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
Packit 15a5a8
AM_CPPFLAGS = -I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib
Packit 15a5a8
COMMON_CPPFLAGS = -DDBFILE='"$(dbfile)"' -DLOCALEDIR='"$(localedir)"' \
Packit 15a5a8
	-DGROUPNAME='"$(groupname)"'
Packit 15a5a8
CONF_CPPFLAGS = -DUPDATEDB_CONF='"$(updatedb_conf)"'
Packit 15a5a8
Packit 15a5a8
## Targets
Packit 15a5a8
SUBDIRS = gnulib/lib po
Packit 15a5a8
Packit 15a5a8
bin_PROGRAMS = src/locate src/updatedb
Packit 15a5a8
dist_man_MANS = doc/mlocate.db.5
Packit 15a5a8
man_MANS = doc/locate.1 doc/updatedb.conf.5 doc/updatedb.8
Packit 15a5a8
Packit 15a5a8
noinst_LIBRARIES = src/liblib.a
Packit 15a5a8
Packit 15a5a8
check_PROGRAMS = tests/bind-mount-helper
Packit 15a5a8
Packit 15a5a8
## Rules
Packit 15a5a8
CLEANFILES = $(man_MANS)
Packit 15a5a8
DISTCLEANFILES = atconfig
Packit 15a5a8
EXTRA_DIST = doc/locate.1.in doc/updatedb.conf.5.in doc/updatedb.8.in \
Packit 15a5a8
	tests/testsuite tests/package.m4 tests/testsuite.at $(TESTFILES)
Packit 15a5a8
TESTFILES = tests/bind-mount.at tests/config.at tests/locate.at \
Packit 15a5a8
	tests/updatedb.at
Packit 15a5a8
Packit 15a5a8
src_liblib_a_SOURCES = src/bind-mount.c src/bind-mount.h src/db.h \
Packit 15a5a8
	src/lib.c src/lib.h
Packit 15a5a8
Packit 15a5a8
src_locate_CPPFLAGS = $(AM_CPPFLAGS) $(COMMON_CPPFLAGS)
Packit 15a5a8
src_locate_LDADD = src/liblib.a gnulib/lib/libgnu.a $(LIBINTL)
Packit 15a5a8
Packit 15a5a8
src_updatedb_SOURCES = src/conf.c src/conf.h src/updatedb.c
Packit 15a5a8
src_updatedb_CPPFLAGS = $(AM_CPPFLAGS) $(COMMON_CPPFLAGS) $(CONF_CPPFLAGS)
Packit 15a5a8
src_updatedb_LDADD = src/liblib.a gnulib/lib/libgnu.a $(LIBINTL)
Packit 15a5a8
Packit 15a5a8
tests_bind_mount_helper_LDADD = src/liblib.a gnulib/lib/libgnu.a $(LIBINTL)
Packit 15a5a8
Packit 15a5a8
doc/locate.1: $(srcdir)/doc/locate.1.in Makefile
Packit 15a5a8
	$(MKDIR_P) doc
Packit 15a5a8
	sed 's,@dbfile@,$(dbfile),g' < $(srcdir)/doc/locate.1.in > $@
Packit 15a5a8
Packit 15a5a8
doc/updatedb.conf.5: $(srcdir)/doc/updatedb.conf.5.in Makefile
Packit 15a5a8
	$(MKDIR_P) doc
Packit 15a5a8
	sed 's,@updatedb_conf@,$(updatedb_conf),g' \
Packit 15a5a8
		< $(srcdir)/doc/updatedb.conf.5.in > $@
Packit 15a5a8
Packit 15a5a8
doc/updatedb.8: $(srcdir)/doc/updatedb.8.in Makefile
Packit 15a5a8
	$(MKDIR_P) doc
Packit 15a5a8
	sed -e 's,@dbfile@,$(dbfile),g; s,@groupname@,$(groupname),g' \
Packit 15a5a8
		-e 's,@updatedb_conf@,$(updatedb_conf),g' \
Packit 15a5a8
		< $(srcdir)/doc/updatedb.8.in > $@
Packit 15a5a8
Packit 15a5a8
clean-local:
Packit 15a5a8
	$(SHELL) $(top_srcdir)/tests/testsuite --clean
Packit 15a5a8
Packit 15a5a8
check-local: atconfig $(top_srcdir)/tests/testsuite
Packit 15a5a8
	$(SHELL) $(top_srcdir)/tests/testsuite
Packit 15a5a8
Packit 15a5a8
installcheck-local: atconfig $(top_srcdir)/tests/testsuite
Packit 15a5a8
	$(SHELL) $(top_srcdir)/tests/testsuite AUTOTEST_PATH=$(bindir)
Packit 15a5a8
Packit 15a5a8
install-exec-local:
Packit 15a5a8
	$(MKDIR_P) "$(DESTDIR)$(dbdir)"
Packit 15a5a8
	-chgrp $(groupname) "$(DESTDIR)$(dbdir)" 2>/dev/null \
Packit 15a5a8
		&& chmod g=rx,o= "$(DESTDIR)$(dbdir)"
Packit 15a5a8
Packit 15a5a8
install-exec-hook:
Packit 15a5a8
	-chgrp $(groupname) "$(DESTDIR)$(bindir)/locate" 2>/dev/null \
Packit 15a5a8
		&& chmod g+s,go-w "$(DESTDIR)$(bindir)/locate"
Packit 15a5a8
Packit 15a5a8
$(top_srcdir)/tests/package.m4: $(top_srcdir)/configure.ac
Packit 15a5a8
	{								   \
Packit 15a5a8
	  echo '# Signature of the current package.';			   \
Packit 15a5a8
	  echo 'm4_define([AT_PACKAGE_NAME],      [@PACKAGE_NAME@])';	   \
Packit 15a5a8
	  echo 'm4_define([AT_PACKAGE_TARNAME],   [@PACKAGE_TARNAME@])';   \
Packit 15a5a8
	  echo 'm4_define([AT_PACKAGE_VERSION],   [@PACKAGE_VERSION@])';   \
Packit 15a5a8
	  echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])';	   \
Packit 15a5a8
	  echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
Packit 15a5a8
	  echo 'm4_define([AT_PACKAGE_URL],       [@PACKAGE_URL@])';	   \
Packit 15a5a8
	} >$(top_srcdir)/tests/package.m4
Packit 15a5a8
Packit 15a5a8
$(top_srcdir)/tests/testsuite: tests/package.m4 tests/testsuite.at $(TESTFILES)
Packit 15a5a8
	$(AUTOM4TE) --language=autotest -I $(top_srcdir)/tests \
Packit 15a5a8
		$(top_srcdir)/tests/testsuite.at -o $@.tmp
Packit 15a5a8
	mv $@.tmp $@
Packit 15a5a8
Packit 15a5a8
atconfig: $(top_builddir)/config.status
Packit 15a5a8
	cd $(top_builddir) && $(SHELL) ./config.status ./atconfig