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