mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-27 12:04:43 +08:00
8cbcf15255
The mkutf8data program was written by SGI for the kernel. We integrate it here, but it should be kept in sync with the kernel code, when applicable. The header generated by this script is also included in this repository, such that we don't have to carry the UCD files too. They are only necessary when the header has to be recreated (for instance, to update the Unicode version supported) The mkutf8data is not a dependency of utf8data.h because we don't want the utf8data.h rule to be called after a make clean that would remove mkutf8data. It is simpler to call it from inside the rule, and make sure we only trigger the utf8data.h rule if we really need to, particularly if we decide not to integrate the ucd files in the tree. The UCD files are not distributed along with this commit, but we add information on how to fetch them. Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
334 lines
10 KiB
Plaintext
334 lines
10 KiB
Plaintext
# Beginning of file MCONFIG
|
|
|
|
all::
|
|
|
|
check::
|
|
|
|
fullcheck::
|
|
|
|
SHELL = /bin/sh
|
|
|
|
COMPRESS_EXT = gz bz2 bz Z
|
|
|
|
prefix = @prefix@
|
|
root_prefix = @root_prefix@
|
|
exec_prefix = @exec_prefix@
|
|
root_bindir = @root_bindir@
|
|
root_sbindir = @root_sbindir@
|
|
root_libdir = @root_libdir@
|
|
datarootdir = @datarootdir@
|
|
bindir = @bindir@
|
|
sbindir = @sbindir@
|
|
libdir = @libdir@
|
|
datadir= @datadir@
|
|
localedir = $(datadir)/locale
|
|
root_sysconfdir= @root_sysconfdir@
|
|
includedir = @includedir@
|
|
mandir = @mandir@
|
|
man1dir = $(mandir)/man1
|
|
man3dir = $(mandir)/man3
|
|
man5dir = $(mandir)/man5
|
|
man8dir = $(mandir)/man8
|
|
infodir = @infodir@
|
|
datadir = @datadir@
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkglibdir = $(libdir)/e2fsprogs
|
|
|
|
HAVE_UDEV = @have_udev@
|
|
UDEV_RULES_DIR = @pkg_udev_rules_dir@
|
|
HAVE_CROND = @have_crond@
|
|
CROND_DIR = @crond_dir@
|
|
HAVE_SYSTEMD = @have_systemd@
|
|
SYSTEMD_SYSTEM_UNIT_DIR = @systemd_system_unit_dir@
|
|
|
|
@SET_MAKE@
|
|
|
|
@ifGNUmake@ V =
|
|
@ifGNUmake@ ifeq ($(strip $(V)),)
|
|
@ifGNUmake@ # E = @echo
|
|
@ifGNUmake@ # ES = echo
|
|
@ifGNUmake@ # Q = @
|
|
@ifGNUmake@ E = @E@
|
|
@ifGNUmake@ ES = @ES@
|
|
@ifGNUmake@ Q = @Q@
|
|
@ifGNUmake@ else
|
|
@ifGNUmake@ E = @\#
|
|
@ifGNUmake@ ES = \#
|
|
@ifGNUmake@ Q =
|
|
@ifGNUmake@ endif
|
|
|
|
@ifNotGNUmake@ E = @E@
|
|
@ifNotGNUmake@ ES = @ES@
|
|
@ifNotGNUmake@ Q = @Q@
|
|
|
|
@ifGNUmake@ CHECK=sparse
|
|
@ifGNUmake@ CHECK_OPTS=-Wsparse-all -Wno-transparent-union -Wno-return-void -Wno-undef -Wno-non-pointer-null
|
|
@ifGNUmake@ CPPCHECK=cppcheck
|
|
@ifGNUmake@ CPPCHECK_OPTS=--force --enable=all --quiet
|
|
@ifGNUmake@ ifeq ("$(C)", "2")
|
|
@ifGNUmake@ CHECK_CMD=$(CHECK) $(CHECK_OPTS) -Wbitwise -D__CHECK_ENDIAN__
|
|
@ifGNUmake@ CPPCHECK_CMD=$(CPPCHECK) $(CPPCHECK_OPTS)
|
|
@ifGNUmake@ else
|
|
@ifGNUmake@ ifeq ("$(C)", "1")
|
|
@ifGNUmake@ CHECK_CMD=$(CHECK) $(CHECK_OPTS)
|
|
@ifGNUmake@ CPPCHECK_CMD=$(CPPCHECK) $(CPPCHECK_OPTS)
|
|
@ifGNUmake@ else
|
|
@ifGNUmake@ CHECK_CMD=@true
|
|
@ifGNUmake@ CPPCHECK_CMD=@true
|
|
@ifGNUmake@ endif
|
|
@ifGNUmake@ endif
|
|
|
|
@ifNotGNUmake@ CHECK_CMD=true
|
|
@ifNotGNUmake@ CPPCHECK_CMD=true
|
|
|
|
SANITIZER_CFLAGS = @lto_cflags@ @ubsan_cflags@ @addrsan_cflags@ @threadsan_cflags@
|
|
SANITIZER_LDFLAGS = @lto_ldflags@ @ubsan_ldflags@ @addrsan_ldflags@ @threadsan_ldflags@
|
|
|
|
CC = @CC@
|
|
BUILD_CC = @BUILD_CC@
|
|
CFLAGS = @CFLAGS@
|
|
CFLAGS_SHLIB = @CFLAGS_SHLIB@
|
|
CFLAGS_STLIB = @CFLAGS_STLIB@
|
|
CPPFLAGS = @INCLUDES@
|
|
ALL_CFLAGS = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS)
|
|
ALL_CFLAGS_SHLIB = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS_SHLIB) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS)
|
|
ALL_CFLAGS_STLIB = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS_STLIB) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS)
|
|
LDFLAGS = $(SANITIZER_LDFLAGS) @LDFLAGS@
|
|
LDFLAGS_SHLIB = $(SANITIZER_LDFLAGS) @LDFLAGS_SHLIB@
|
|
ALL_LDFLAGS = $(LDFLAGS) @LDFLAG_DYNAMIC@
|
|
LDFLAGS_STATIC = $(SANITIZER_LDFLAGS) @LDFLAGS_STATIC@
|
|
BUILD_CFLAGS = $(SANITIZER_CFLAGS) @BUILD_CFLAGS@
|
|
BUILD_LDFLAGS = $(SANITIZER_LDFLAGS) @BUILD_LDFLAGS@
|
|
RDYNAMIC = @RDYNAMIC@
|
|
LINK_BUILD_FLAGS = @LINK_BUILD_FLAGS@
|
|
LINK_INSTALL_FLAGS = @LINK_INSTALL_FLAGS@
|
|
RM = @RM@
|
|
LN = @LN@
|
|
LN_S = @LN_S@
|
|
MV = @MV@
|
|
CP = @CP@
|
|
CHMOD = @CHMOD@
|
|
AR = @AR@
|
|
AWK = @AWK@
|
|
SED = @SED@
|
|
PERL = @PERL@
|
|
RANLIB = @RANLIB@
|
|
STRIP = @STRIP@
|
|
LD = $(PURE) @CC@
|
|
ARUPD = $(AR) r
|
|
ARGEN = $(AR) rc
|
|
LDCONFIG = @LDCONFIG@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
MKDIR_P = @MKDIR_P@
|
|
|
|
#
|
|
# Library definitions
|
|
#
|
|
LIB = $(top_builddir)/lib
|
|
LIBSS = $(LIB)/libss@LIB_EXT@ @PRIVATE_LIBS_CMT@ @DLOPEN_LIB@
|
|
LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@
|
|
LIBE2P = $(LIB)/libe2p@LIB_EXT@
|
|
LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@
|
|
LIBUUID = @LIBUUID@ @SOCKET_LIB@
|
|
LIBMAGIC = @MAGIC_LIB@
|
|
LIBFUSE = @FUSE_LIB@
|
|
LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@STATIC_LIB_EXT@
|
|
LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID)
|
|
LIBINTL = @LIBINTL@
|
|
SYSLIBS = @LIBS@
|
|
DEPLIBSS = $(LIB)/libss@LIB_EXT@
|
|
DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@
|
|
DEPLIBUUID = @DEPLIBUUID@
|
|
DEPLIBSUPPORT = $(LIB)/libsupport@STATIC_LIB_EXT@
|
|
DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID)
|
|
TESTENV = LD_LIBRARY_PATH="$(LIB):$${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="$(LIB):$${DYLD_LIBRARY_PATH}"
|
|
|
|
STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@
|
|
STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@
|
|
STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@
|
|
STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@
|
|
STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@
|
|
STATIC_LIBSUPPORT = $(LIBINTL) $(LIBSUPPORT)
|
|
STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID)
|
|
DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@
|
|
DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@
|
|
DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@
|
|
DEPSTATIC_LIBSUPPORT = $(DEPLIBSUPPORT)
|
|
DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID)
|
|
|
|
PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@
|
|
PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@
|
|
PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@
|
|
PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@
|
|
PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@
|
|
PROFILED_LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@PROFILED_LIB_EXT@
|
|
PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID)
|
|
DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@
|
|
DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@
|
|
DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@
|
|
DEPPROFILED_LIBSUPPORT = $(PROFILED_LIBSUPPORT)
|
|
DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID)
|
|
|
|
#
|
|
# A fast substitution command for fixing up man pages, shell scripts, etc.
|
|
#
|
|
SUBST_CONF=$(top_builddir)/util/subst.conf
|
|
SUBSTITUTE= $(top_builddir)/util/subst -f $(SUBST_CONF)
|
|
SUBSTITUTE_UPTIME= $(top_builddir)/util/subst -t -f $(SUBST_CONF)
|
|
DEP_SUBSTITUTE= $(top_builddir)/util/subst $(SUBST_CONF)
|
|
|
|
$(top_builddir)/util/subst:
|
|
cd $(top_builddir)/util ; $(MAKE) subst
|
|
|
|
#
|
|
# Script for generating utf8data.h
|
|
#
|
|
MKUTF8DATA=$(top_builddir)/util/mkutf8data
|
|
|
|
$(top_builddir)/util/mkutf8data:
|
|
$(MAKE) -C $(top_builddir)/util mkutf8data
|
|
|
|
#
|
|
# Script for installing symlinks (for shared libraries)
|
|
#
|
|
$(top_builddir)/util/install-symlink: $(top_srcdir)/util/install-symlink.in \
|
|
$(top_builddir)/config.status
|
|
cd $(top_builddir); CONFIG_FILES=util/install-symlink ./config.status
|
|
chmod +x $(top_builddir)/util/install-symlink
|
|
|
|
$(top_builddir)/util/symlinks:
|
|
cd $(top_builddir)/util ; $(MAKE) symlinks
|
|
|
|
INSTALL_SYMLINK = /bin/sh $(top_builddir)/util/install-symlink \
|
|
@SYMLINK_RELATIVE@ \
|
|
--symlinks=$(top_builddir)/util/symlinks
|
|
DEP_INSTALL_SYMLINK = $(top_builddir)/util/install-symlink \
|
|
$(top_builddir)/util/symlinks
|
|
|
|
#
|
|
# Warning flags
|
|
#
|
|
# Run make gcc-wall to do a build with warning messages.
|
|
#
|
|
#
|
|
WFLAGS= -std=gnu99 -D_XOPEN_SOURCE=600 -D_GNU_SOURCE \
|
|
-pedantic $(WFLAGS_EXTRA) \
|
|
-Wall -W -Wwrite-strings -Wpointer-arith \
|
|
-Wcast-qual -Wcast-align -Wno-variadic-macros \
|
|
-Wstrict-prototypes -Wmissing-prototypes \
|
|
-Wformat-security -Wformat-nonliteral \
|
|
-Wmissing-format-attribute -O2 -Wstrict-aliasing \
|
|
-Wnested-externs -Winline -DNO_INLINE_FUNCS -Wshadow \
|
|
-UENABLE_NLS
|
|
|
|
gcc-wall-new:
|
|
($(MAKE) CFLAGS_WARN="$(WFLAGS)" > /dev/null) 2>&1 | sed -f $(top_srcdir)/util/gcc-wall-cleanup
|
|
|
|
gcc-wall:
|
|
$(MAKE) clean > /dev/null
|
|
$(MAKE) gcc-wall-new
|
|
|
|
static-check:
|
|
($(MAKE) C=1 V=1 CFLAGS="$(ALL_CFLAGS) $(WFLAGS)") 2>&1 | sed -f $(top_srcdir)/util/static-analysis-cleanup
|
|
|
|
static-check-all:
|
|
$(MAKE) clean > /dev/null
|
|
$(MAKE) static-check
|
|
|
|
#
|
|
# Installation user and groups
|
|
#
|
|
BINGRP= bin
|
|
BINOWN= bin
|
|
BINMODE= 555
|
|
INCGRP= bin
|
|
INCOWN= bin
|
|
INCMODE= 444
|
|
LIBOWN= bin
|
|
LIBGRP= bin
|
|
LIBMODE= 444
|
|
MANGRP= bin
|
|
MANOWN= bin
|
|
MANMODE= 444
|
|
|
|
#
|
|
# Autoconf magic...
|
|
#
|
|
|
|
DEP_LIB_MAKEFILES = $(top_srcdir)/lib/Makefile.library \
|
|
$(top_srcdir)/lib/Makefile.elf-lib \
|
|
$(top_srcdir)/lib/Makefile.bsd-lib \
|
|
$(top_srcdir)/lib/Makefile.darwin-lib \
|
|
$(top_srcdir)/lib/Makefile.solaris-lib \
|
|
$(top_srcdir)/lib/Makefile.profile
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure
|
|
cd $(top_builddir); ./config.status --recheck
|
|
|
|
$(top_builddir)/MCONFIG: $(top_srcdir)/MCONFIG.in $(top_builddir)/config.status
|
|
cd $(top_builddir); CONFIG_FILES=MCONFIG ./config.status
|
|
|
|
$(top_builddir)/lib/config.h: $(top_srcdir)/lib/config.h.in \
|
|
$(top_builddir)/config.status
|
|
cd $(top_builddir); CONFIG_FILES=lib/config.h ./config.status
|
|
|
|
$(top_builddir)/lib/dirpaths.h: $(DEP_SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in
|
|
$(E) " SUBST $@"
|
|
$(Q) $(SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in $@
|
|
|
|
$(top_builddir)/lib/substitute_sh: $(top_srcdir)/lib/substitute_sh.in \
|
|
$(top_builddir)/config.status
|
|
cd $(top_builddir); CONFIG_FILES=lib/substitute_sh ./config.status
|
|
|
|
$(top_builddir)/util/subst.conf: $(top_srcdir)/util/subst.conf.in \
|
|
$(top_builddir)/config.status
|
|
cd $(top_builddir); CONFIG_FILES=util/subst.conf ./config.status
|
|
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/MCONFIG \
|
|
$(DEP_MAKEFILE) $(top_builddir)/config.status
|
|
cd $(top_builddir); CONFIG_FILES=$(my_dir)/Makefile ./config.status
|
|
|
|
@MAINTAINER_CMT@$(top_srcdir)/configure: $(top_srcdir)/configure.ac
|
|
@MAINTAINER_CMT@ cd $(top_srcdir) && autoheader && autoconf
|
|
|
|
coverage.txt: Makefile $(SRCS)
|
|
if test -n "$(SRCS)"; then \
|
|
gcov -s $(top_srcdir) -o . $(SRCS) > coverage.txt 2>&1 ; \
|
|
fi
|
|
|
|
clean::
|
|
$(RM) -f *.gcda *.gcov *.gcno coverage.txt
|
|
|
|
#
|
|
# Make depend magic...
|
|
#
|
|
|
|
.depend: Makefile $(SRCS) $(top_srcdir)/depfix.sed $(top_srcdir)/wordwrap.pl
|
|
if test -n "$(SRCS)" ; then \
|
|
$(CC) -M $(ALL_CFLAGS) $(DEPEND_CFLAGS) $(SRCS) | \
|
|
$(SED) -f $(top_srcdir)/depfix.sed \
|
|
-e 's; $(srcdir)/; $$(srcdir)/;g' \
|
|
-e 's; $(top_srcdir)/; $$(top_srcdir)/;g' \
|
|
-e 's; $(top_builddir)/; $$(top_builddir)/;g' \
|
|
-e 's; \./; ;g' \
|
|
-e '/^#/d' \
|
|
-e '/^ *\\$$/d' | \
|
|
$(PERL) $(top_srcdir)/wordwrap.pl > .depend; \
|
|
else :; fi
|
|
|
|
depend:: .depend
|
|
if test -n "$(SRCS)" ; then \
|
|
sed -e '/^# +++ Dependency line eater +++/,$$d' \
|
|
< $(srcdir)/Makefile.in | cat - .depend \
|
|
> $(srcdir)/Makefile.in.new; \
|
|
if cmp -s $(srcdir)/Makefile.in $(srcdir)/Makefile.in.new ; then \
|
|
$(RM) $(srcdir)/Makefile.in.new ; \
|
|
else \
|
|
$(MV) $(srcdir)/Makefile.in $(srcdir)/Makefile.in.old; \
|
|
$(MV) $(srcdir)/Makefile.in.new $(srcdir)/Makefile.in; \
|
|
fi ; else :; fi
|
|
|
|
# End of file MCONFIG
|