1# Beginning of file MCONFIG
2
3all::
4
5all-static::
6
7check::
8
9fullcheck::
10
11SHELL = /bin/sh
12
13COMPRESS_EXT = gz bz2 bz Z
14
15prefix = @prefix@
16root_prefix = @root_prefix@
17exec_prefix = @exec_prefix@
18root_bindir = @root_bindir@
19root_sbindir = @root_sbindir@
20root_libdir = @root_libdir@
21datarootdir = @datarootdir@
22bindir = @bindir@
23sbindir = @sbindir@
24libdir = @libdir@
25datadir= @datadir@
26localedir = $(datadir)/locale
27root_sysconfdir= @root_sysconfdir@
28includedir = @includedir@
29mandir = @mandir@
30man1dir = $(mandir)/man1
31man3dir = $(mandir)/man3
32man5dir = $(mandir)/man5
33man8dir = $(mandir)/man8
34infodir = @infodir@
35datadir = @datadir@
36pkgconfigdir = $(libdir)/pkgconfig
37pkglibdir = $(libdir)/e2fsprogs
38
39HAVE_UDEV = @have_udev@
40UDEV_RULES_DIR = @pkg_udev_rules_dir@
41HAVE_CROND = @have_crond@
42CROND_DIR = @crond_dir@
43HAVE_SYSTEMD = @have_systemd@
44SYSTEMD_SYSTEM_UNIT_DIR = @systemd_system_unit_dir@
45
46@SET_MAKE@
47
48@ifGNUmake@ V =
49@ifGNUmake@ ifeq ($(strip $(V)),)
50@ifGNUmake@ #  E = @echo
51@ifGNUmake@ #  ES = echo
52@ifGNUmake@ #  Q = @
53@ifGNUmake@    E = @E@
54@ifGNUmake@    ES = @ES@
55@ifGNUmake@    Q = @Q@
56@ifGNUmake@ else
57@ifGNUmake@    E = @\#
58@ifGNUmake@    ES = \#
59@ifGNUmake@    Q =
60@ifGNUmake@ endif
61
62@ifNotGNUmake@ E = @E@
63@ifNotGNUmake@ ES = @ES@
64@ifNotGNUmake@ Q = @Q@
65
66@ifGNUmake@ CHECK=sparse
67@ifGNUmake@ CHECK_OPTS=-Wsparse-all -Wno-transparent-union -Wno-return-void -Wno-undef -Wno-non-pointer-null
68@ifGNUmake@ CPPCHECK=cppcheck
69@ifGNUmake@ CPPCHECK_OPTS=--force --enable=all --quiet
70@ifGNUmake@ ifeq ("$(C)", "2")
71@ifGNUmake@   CHECK_CMD=$(CHECK) $(CHECK_OPTS) -Wbitwise -D__CHECK_ENDIAN__
72@ifGNUmake@   CPPCHECK_CMD=$(CPPCHECK) $(CPPCHECK_OPTS)
73@ifGNUmake@ else
74@ifGNUmake@   ifeq ("$(C)", "1")
75@ifGNUmake@     CHECK_CMD=$(CHECK) $(CHECK_OPTS)
76@ifGNUmake@     CPPCHECK_CMD=$(CPPCHECK) $(CPPCHECK_OPTS)
77@ifGNUmake@    else
78@ifGNUmake@     CHECK_CMD=@true
79@ifGNUmake@     CPPCHECK_CMD=@true
80@ifGNUmake@   endif
81@ifGNUmake@ endif
82
83@ifNotGNUmake@ CHECK_CMD=true
84@ifNotGNUmake@ CPPCHECK_CMD=true
85
86SANITIZER_CFLAGS = @lto_cflags@ @ubsan_cflags@ @addrsan_cflags@ @threadsan_cflags@
87SANITIZER_LDFLAGS = @lto_ldflags@ @ubsan_ldflags@ @addrsan_ldflags@ @threadsan_ldflags@
88
89CC = @PTHREAD_CC@
90BUILD_CC = @BUILD_CC@
91PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
92PTHREAD_LIBS = @PTHREAD_LIBS@
93CFLAGS = @CFLAGS@
94CFLAGS_SHLIB = @CFLAGS_SHLIB@
95CFLAGS_STLIB = @CFLAGS_STLIB@
96CPPFLAGS = @INCLUDES@
97ALL_CFLAGS = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS) $(PTHREAD_CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS)
98ALL_CFLAGS_SHLIB = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS_SHLIB) $(PTHREAD_CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS)
99ALL_CFLAGS_STLIB = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS_STLIB) $(PTHREAD_CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS)
100LDFLAGS = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS@
101LDFLAGS_SHLIB = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS_SHLIB@
102ALL_LDFLAGS = $(LDFLAGS) @LDFLAG_DYNAMIC@
103LDFLAGS_STATIC = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS_STATIC@
104BUILD_CFLAGS = $(SANITIZER_CFLAGS) @BUILD_CFLAGS@
105BUILD_LDFLAGS = $(SANITIZER_LDFLAGS) @BUILD_LDFLAGS@
106RDYNAMIC = @RDYNAMIC@
107LINK_BUILD_FLAGS = @LINK_BUILD_FLAGS@
108LINK_INSTALL_FLAGS = @LINK_INSTALL_FLAGS@
109RM = @RM@
110LN = @LN@
111LN_S = @LN_S@
112MV = @MV@
113CP = @CP@
114CHMOD = @CHMOD@
115AR = @AR@
116AWK = @AWK@
117SED = @SED@
118PERL = @PERL@
119RANLIB = @RANLIB@
120STRIP = @STRIP@
121LD = $(PURE) @CC@
122ARUPD = $(AR) r
123ARGEN = $(AR) rc
124LDCONFIG = @LDCONFIG@
125INSTALL_PROGRAM = @INSTALL_PROGRAM@
126INSTALL_DATA = @INSTALL_DATA@
127INSTALL_SCRIPT = @INSTALL_SCRIPT@
128
129#
130# Library definitions
131#
132LIB = $(top_builddir)/lib
133LIBSS = $(LIB)/libss@LIB_EXT@ @PRIVATE_LIBS_CMT@ @DLOPEN_LIB@
134LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@
135LIBE2P = $(LIB)/libe2p@LIB_EXT@
136LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@
137LIBUUID = @LIBUUID@ @SOCKET_LIB@
138LIBMAGIC = @MAGIC_LIB@
139LIBFUSE = @FUSE_LIB@
140LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@STATIC_LIB_EXT@
141LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID)
142LIBINTL = @LIBINTL@
143SYSLIBS = @LIBS@ @PTHREAD_LIBS@
144DEPLIBSS = $(LIB)/libss@LIB_EXT@
145DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@
146DEPLIBUUID = @DEPLIBUUID@
147DEPLIBSUPPORT = $(LIB)/libsupport@STATIC_LIB_EXT@
148DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID)
149TESTENV = LD_LIBRARY_PATH="$(LIB):$${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="$(LIB):$${DYLD_LIBRARY_PATH}"
150
151STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@
152STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@
153STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@
154STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@
155STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@
156STATIC_LIBSUPPORT = $(LIBINTL) $(LIBSUPPORT)
157STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID)
158DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@
159DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@
160DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@
161DEPSTATIC_LIBSUPPORT = $(DEPLIBSUPPORT)
162DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID)
163
164PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@
165PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@
166PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@
167PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@
168PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@
169PROFILED_LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@PROFILED_LIB_EXT@
170PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID)
171DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@
172DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@
173DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@
174DEPPROFILED_LIBSUPPORT = $(PROFILED_LIBSUPPORT)
175DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID)
176
177#
178# A fast substitution command for fixing up man pages, shell scripts, etc.
179#
180SUBST_CONF=$(top_builddir)/util/subst.conf
181SUBSTITUTE= $(top_builddir)/util/subst -f $(SUBST_CONF)
182SUBSTITUTE_UPTIME= $(top_builddir)/util/subst -t -f $(SUBST_CONF)
183DEP_SUBSTITUTE= $(top_builddir)/util/subst $(SUBST_CONF)
184
185$(top_builddir)/util/subst:
186	cd $(top_builddir)/util ; $(MAKE) subst
187
188#
189# Script for generating utf8data.h
190#
191MKUTF8DATA=$(top_builddir)/util/mkutf8data
192
193$(top_builddir)/util/mkutf8data:
194	 $(MAKE) -C $(top_builddir)/util mkutf8data
195
196#
197# Script for installing symlinks (for shared libraries)
198#
199$(top_builddir)/util/install-symlink: $(top_srcdir)/util/install-symlink.in \
200			      $(top_builddir)/config.status
201	cd $(top_builddir); CONFIG_FILES=util/install-symlink ./config.status
202	chmod +x $(top_builddir)/util/install-symlink
203
204$(top_builddir)/util/symlinks:
205	cd $(top_builddir)/util ; $(MAKE) symlinks
206
207INSTALL_SYMLINK = /bin/sh $(top_builddir)/util/install-symlink \
208			@SYMLINK_RELATIVE@ \
209			--symlinks=$(top_builddir)/util/symlinks
210DEP_INSTALL_SYMLINK = $(top_builddir)/util/install-symlink \
211			$(top_builddir)/util/symlinks
212
213#
214# Warning flags
215#
216# Run make gcc-wall to do a build with warning messages.
217#
218#
219WFLAGS=		-std=gnu99 -D_XOPEN_SOURCE=600 -D_GNU_SOURCE $(WFLAGS_EXTRA) \
220			-Wall -W -Wwrite-strings -Wpointer-arith \
221			-Wcast-qual -Wcast-align -Wno-variadic-macros \
222			-Wstrict-prototypes -Wmissing-prototypes \
223			-Wformat-security  -Wformat-nonliteral \
224			-Wmissing-format-attribute -O2 -Wstrict-aliasing \
225			-Wnested-externs -Winline -DNO_INLINE_FUNCS -Wshadow \
226			-UENABLE_NLS
227
228gcc-wall-new:
229	($(MAKE) CFLAGS_WARN="$(WFLAGS)" > /dev/null) 2>&1
230
231gcc-wall:
232	$(MAKE) clean > /dev/null
233	$(MAKE) gcc-wall-new
234
235static-check:
236	($(MAKE) C=1 V=1 CFLAGS="$(ALL_CFLAGS) $(WFLAGS)") 2>&1
237
238static-check-all:
239	$(MAKE) clean > /dev/null
240	$(MAKE) static-check
241
242#
243# Installation user and groups
244#
245BINGRP=		bin
246BINOWN=		bin
247BINMODE=	555
248INCGRP=		bin
249INCOWN=		bin
250INCMODE=	444
251LIBOWN=		bin
252LIBGRP=		bin
253LIBMODE=	444
254MANGRP=		bin
255MANOWN=		bin
256MANMODE=	444
257
258#
259# Autoconf magic...
260#
261
262DEP_LIB_MAKEFILES = $(top_srcdir)/lib/Makefile.library \
263	$(top_srcdir)/lib/Makefile.elf-lib  \
264	$(top_srcdir)/lib/Makefile.bsd-lib \
265	$(top_srcdir)/lib/Makefile.darwin-lib \
266	$(top_srcdir)/lib/Makefile.solaris-lib \
267	$(top_srcdir)/lib/Makefile.profile
268
269$(top_builddir)/config.status: $(top_srcdir)/configure
270	cd $(top_builddir); ./config.status --recheck
271
272$(top_builddir)/MCONFIG: $(top_srcdir)/MCONFIG.in $(top_builddir)/config.status
273	cd $(top_builddir); CONFIG_FILES=MCONFIG ./config.status
274
275$(top_builddir)/lib/config.h: $(top_srcdir)/lib/config.h.in \
276			      $(top_builddir)/config.status
277	cd $(top_builddir); CONFIG_FILES=lib/config.h ./config.status
278
279$(top_builddir)/lib/dirpaths.h: $(DEP_SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in
280	$(E) "	SUBST $@"
281	$(Q) $(SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in $@
282
283$(top_builddir)/lib/substitute_sh: $(top_srcdir)/lib/substitute_sh.in \
284		$(top_builddir)/config.status
285	cd $(top_builddir); CONFIG_FILES=lib/substitute_sh ./config.status
286
287$(top_builddir)/util/subst.conf: $(top_srcdir)/util/subst.conf.in \
288		$(top_builddir)/config.status
289	cd $(top_builddir); CONFIG_FILES=util/subst.conf ./config.status
290
291Makefile: $(srcdir)/Makefile.in $(top_builddir)/MCONFIG \
292		$(DEP_MAKEFILE) $(top_builddir)/config.status
293	cd $(top_builddir); CONFIG_FILES=$(my_dir)/Makefile ./config.status
294
295@MAINTAINER_CMT@$(top_srcdir)/configure: $(top_srcdir)/configure.ac
296@MAINTAINER_CMT@	cd $(top_srcdir) && autoheader && autoconf
297
298coverage.txt: Makefile $(SRCS)
299	if test -n "$(SRCS)"; then \
300		gcov -s $(top_srcdir) -o . $(SRCS) > coverage.txt 2>&1 ; \
301	fi
302
303clean::
304	$(RM) -f *.gcda *.gcov *.gcno coverage.txt
305
306#
307# Make depend magic...
308#
309
310.depend: Makefile $(SRCS) $(top_srcdir)/depfix.sed $(top_srcdir)/wordwrap.pl
311	if test -n "$(SRCS)" ; then \
312		$(CC) -M $(ALL_CFLAGS) $(DEPEND_CFLAGS) $(SRCS) | \
313			$(SED) -f $(top_srcdir)/depfix.sed \
314			    -e 's; $(srcdir)/; $$(srcdir)/;g' \
315			    -e 's; $(top_srcdir)/; $$(top_srcdir)/;g' \
316			    -e 's; $(top_builddir)/; $$(top_builddir)/;g' \
317			    -e 's; \./; ;g' \
318			    -e '/^#/d' \
319			    -e '/^ *\\$$/d' | \
320			$(PERL) $(top_srcdir)/wordwrap.pl > .depend; \
321	else :; fi
322
323depend:: .depend
324	if test -n "$(SRCS)" ; then \
325		sed -e '/^# +++ Dependency line eater +++/,$$d' \
326			< $(srcdir)/Makefile.in | cat - .depend \
327			> $(srcdir)/Makefile.in.new; \
328	if cmp -s $(srcdir)/Makefile.in $(srcdir)/Makefile.in.new ; then \
329		$(RM) $(srcdir)/Makefile.in.new ; \
330	else \
331		$(MV) $(srcdir)/Makefile.in $(srcdir)/Makefile.in.old; \
332		$(MV) $(srcdir)/Makefile.in.new $(srcdir)/Makefile.in; \
333	fi ; else :; fi
334
335# End of file MCONFIG
336