1# Makefile for libelf.
2# Copyright (C) 1995 - 2005 Michael Riepe
3#
4# This library is free software; you can redistribute it and/or
5# modify it under the terms of the GNU Library General Public
6# License as published by the Free Software Foundation; either
7# version 2 of the License, or (at your option) any later version.
8#
9# This library is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12# Library General Public License for more details.
13#
14# You should have received a copy of the GNU Library General Public
15# License along with this library; if not, write to the Free Software
16# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
17
18# @(#) $Id: Makefile.in,v 1.30 2008/05/23 08:17:56 michael Exp $
19
20instroot =
21
22prefix = @prefix@
23exec_prefix = @exec_prefix@
24libdir = @libdir@
25
26pkgdir = $(prefix)/libdata/pkgconfig
27
28MV = mv -f
29RM = rm -f
30LN_S = @LN_S@
31INSTALL = @INSTALL@
32INSTALL_DATA = @INSTALL_DATA@
33
34CC = @CC@
35CFLAGS = @CFLAGS@
36CPPFLAGS = @CPPFLAGS@
37LDFLAGS = @LDFLAGS@
38LIBS = @LIBS@
39
40# no user serviceable parts below
41
42PACKAGE = @PACKAGE@
43VERSION = @VERSION@
44
45SHELL = /bin/sh
46@SET_MAKE@
47
48srcdir = @srcdir@
49VPATH = @srcdir@
50
51SUBDIRS = lib @POSUB@
52DISTSUBDIRS = lib po
53
54DISTFILES = \
55	acconfig.h aclocal.m4 ChangeLog config.guess config.h.in \
56	config.sub configure configure.in COPYING.LIB INSTALL install-sh \
57	Makefile.in mkinstalldirs README stamp-h.in VERSION libelf.pc.in
58
59all: all-recursive all-local
60check: check-recursive check-local
61install: install-recursive install-local
62uninstall: uninstall-recursive uninstall-local
63mostlyclean: mostlyclean-recursive mostlyclean-local
64clean: clean-recursive clean-local
65distclean: distclean-recursive distclean-local
66maintainer-clean: maintainer-clean-recursive maintainer-clean-local
67
68install-compat uninstall-compat:
69	cd lib && $(MAKE) $@
70
71all-recursive check-recursive install-recursive uninstall-recursive \
72clean-recursive distclean-recursive mostlyclean-recursive \
73maintainer-clean-recursive:
74	@subdirs="$(SUBDIRS)"; for subdir in $$subdirs; do \
75	  target=`echo $@|sed 's,-recursive,,'`; \
76	  echo making $$target in $$subdir; \
77	  (cd $$subdir && $(MAKE) $$target) || exit 1; \
78	done
79
80all-local:
81
82check-local:
83
84install-local: $(srcdir)/mkinstalldirs libelf.pc
85	$(SHELL) $(srcdir)/mkinstalldirs $(instroot)$(pkgdir)
86	$(INSTALL_DATA) libelf.pc $(instroot)$(pkgdir)
87
88uninstall-local:
89	$(RM) $(instroot)$(pkgdir)/libelf.pc
90
91mostlyclean-local:
92	$(RM) *~ core errlist
93
94clean-local: mostlyclean-local
95
96distclean-local: clean-local
97	$(RM) config.cache config.h config.log config.status stamp-h
98	$(RM) Makefile
99	$(RM) libelf.pc
100
101maintainer-clean-local: distclean-local
102	@echo "This command is intended for maintainers to use;"
103	@echo "it deletes files that may require special tools to rebuild."
104	$(RM) config.h.in configure stamp-dist
105	$(RM) -r $(distdir)
106
107# maintainer only
108
109MAINT = @MAINT@
110
111distdir = $(PACKAGE)-$(VERSION)
112DISTPERMS = --owner=root --group=root --numeric-owner
113$(MAINT)dist: ./stamp-dist
114$(MAINT)./stamp-dist: $(DISTFILES)
115	$(RM) -r $(distdir)
116	mkdir $(distdir)
117	files="$(DISTFILES)"; for file in $$files; do \
118	  ln $(srcdir)/$$file $(distdir) || \
119	    cp -p $(srcdir)/$$file $(distdir) || exit 1; \
120	done
121	subdirs="$(DISTSUBDIRS)"; for subdir in $$subdirs; do \
122	  (cd $$subdir && $(MAKE) dist) || exit 1; \
123	done
124	cd $(distdir) && \
125	    find . -type f ! -name MANIFEST -exec wc -c {} \; | \
126	    sed 's, \./, ,' | sort -k2 >MANIFEST
127	-$(RM) $(distdir).tar.gz.bak $(PACKAGE).tar.gz
128	-$(MV) $(distdir).tar.gz $(distdir).tar.gz.bak
129	tar cvohfz $(distdir).tar.gz $(DISTPERMS) $(distdir)
130	$(LN_S) $(distdir).tar.gz $(PACKAGE).tar.gz
131	$(RM) stamp-dist && echo timestamp > stamp-dist
132
133$(MAINT)check-dist:
134	$(RM) -r disttest
135	mkdir disttest
136	@echo 'unset CC CFLAGS CPPFLAGS LDFLAGS LIBS' >disttest/config.site
137	cd disttest && CONFIG_SITE=config.site ../$(distdir)/configure
138	$(MAKE) -C disttest
139	$(MAKE) -C disttest check
140	$(MAKE) -C disttest dist
141
142.PHONY: tags
143tags:
144	rm -f tags
145	ctags lib/*.c lib/*.h
146
147TRACKFS = trackfs
148trackinstall:
149	$(TRACKFS) -l install.log -b backup.cpio $(MAKE) install
150
151# For the justification of the following Makefile rules, see node
152# `Automatic Remaking' in GNU Autoconf documentation.
153
154$(MAINT)$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4
155	$(RM) $(srcdir)/configure
156	cd $(srcdir) && autoconf
157
158$(MAINT)$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
159$(MAINT)$(srcdir)/stamp-h.in: $(srcdir)/configure.in $(srcdir)/acconfig.h
160	$(RM) $(srcdir)/config.h.in
161	cd $(srcdir) && autoheader
162	cd $(srcdir) && $(RM) stamp-h.in && echo timestamp > stamp-h.in
163
164$(MAINT)config.h: stamp-h
165$(MAINT)stamp-h: config.h.in config.status
166	CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
167	$(RM) stamp-h && echo timestamp > stamp-h
168
169$(MAINT)Makefile: Makefile.in config.status
170	CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
171
172$(MAINT)lib/Makefile: lib/Makefile.in config.status
173	CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
174
175$(MAINT)lib/sys_elf.h: lib/stamp-h
176$(MAINT)lib/stamp-h: lib/sys_elf.h.in config.status
177	CONFIG_FILES= CONFIG_HEADERS=lib/sys_elf.h ./config.status
178	$(RM) lib/stamp-h && echo timestamp > lib/stamp-h
179
180$(MAINT)po/Makefile: po/Makefile.in config.status
181	CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
182
183$(MAINT)libelf.pc: libelf.pc.in config.status
184	CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
185
186RECHECK_FLAGS = CC='$(CC)' CPPFLAGS='$(CPPFLAGS)' \
187	CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)'
188
189$(MAINT)config.status: configure config.h.in VERSION
190	$(RECHECK_FLAGS) ./config.status --recheck
191
192$(MAINT)reconfig:
193	$(RM) config.cache
194	$(RECHECK_FLAGS) ./config.status --recheck
195
196# Tell versions [3.59,3.63) of GNU make not to export all variables.
197# Otherwise a system limit (for SysV at least) may be exceeded.
198.NOEXPORT:
199