1 # SPDX-License-Identifier: GPL-2.0
2 # Copyright (c) 2004-2006 Silicon Graphics, Inc.
8 ifndef _BUILDDEFS_INCLUDED_
9 _BUILDDEFS_INCLUDED_ = 1
12 OPTIMIZER = @opt_build@
13 MALLOCLIB = @malloc_lib@
14 LOADERFLAGS = @LDFLAGS@
16 CFLAGS = @CFLAGS@ -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wno-address-of-packed-member
17 BUILD_CFLAGS = @BUILD_CFLAGS@ -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
19 # make sure we don't pick up whacky LDFLAGS from the make environment and
20 # only use what we calculate from the configured options above.
26 LIBPTHREAD = @libpthread@
27 LIBTERMCAP = @libtermcap@
28 LIBEDITLINE = @libeditline@
30 LIBDEVMAPPER = @libdevmapper@
32 LIBXFS = $(TOPDIR)/libxfs/libxfs.la
33 LIBFROG = $(TOPDIR)/libfrog/libfrog.la
34 LIBXCMD = $(TOPDIR)/libxcmd/libxcmd.la
35 LIBXLOG = $(TOPDIR)/libxlog/libxlog.la
36 LIBHANDLE = $(TOPDIR)/libhandle/libhandle.la
40 PKG_GROUP = @pkg_group@
41 PKG_RELEASE = @pkg_release@
42 PKG_VERSION = @pkg_version@
43 PKG_DISTRIBUTION= @pkg_distribution@
46 exec_prefix = @exec_prefix@
47 datarootdir = @datarootdir@
48 top_builddir = @top_builddir@
50 PKG_SBIN_DIR = @sbindir@
51 PKG_ROOT_SBIN_DIR = @root_sbindir@
52 PKG_ROOT_LIB_DIR= @root_libdir@@libdirsuffix@
53 PKG_LIB_DIR = @libdir@@libdirsuffix@
54 PKG_LIBEXEC_DIR = @libexecdir@/@pkg_name@
55 PKG_INC_DIR = @includedir@/xfs
56 DK_INC_DIR = @includedir@/disk
57 PKG_MAN_DIR = @mandir@
58 PKG_DOC_DIR = @datadir@/doc/@pkg_name@
59 PKG_LOCALE_DIR = @datadir@/locale
60 PKG_DATA_DIR = @datadir@/@pkg_name@
61 MKFS_CFG_DIR = @datadir@/@pkg_name@/mkfs
75 MAKEDEPEND = @makedepend@
80 LOCALIZED_FILES = @LOCALIZED_FILES@
84 RPM_VERSION = @rpm_version@
86 ENABLE_SHARED = @enable_shared@
87 ENABLE_GETTEXT = @enable_gettext@
88 ENABLE_EDITLINE = @enable_editline@
89 ENABLE_SCRUB = @enable_scrub@
91 HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@
93 HAVE_MADVISE = @have_madvise@
94 HAVE_MINCORE = @have_mincore@
95 HAVE_SENDFILE = @have_sendfile@
96 HAVE_FALLOCATE = @have_fallocate@
97 HAVE_FIEMAP = @have_fiemap@
98 HAVE_PREADV = @have_preadv@
99 HAVE_PWRITEV2 = @have_pwritev2@
100 HAVE_COPY_FILE_RANGE = @have_copy_file_range@
101 HAVE_SYNC_FILE_RANGE = @have_sync_file_range@
102 HAVE_SYNCFS = @have_syncfs@
103 HAVE_READDIR = @have_readdir@
104 HAVE_FLS = @have_fls@
105 HAVE_FSETXATTR = @have_fsetxattr@
106 HAVE_MREMAP = @have_mremap@
107 NEED_INTERNAL_FSXATTR = @need_internal_fsxattr@
108 NEED_INTERNAL_FSCRYPT_ADD_KEY_ARG = @need_internal_fscrypt_add_key_arg@
109 NEED_INTERNAL_FSCRYPT_POLICY_V2 = @need_internal_fscrypt_policy_v2@
110 HAVE_GETFSMAP = @have_getfsmap@
111 HAVE_STATFS_FLAGS = @have_statfs_flags@
112 HAVE_MAP_SYNC = @have_map_sync@
113 HAVE_DEVMAPPER = @have_devmapper@
114 HAVE_MALLINFO = @have_mallinfo@
115 HAVE_MALLINFO2 = @have_mallinfo2@
116 HAVE_LIBATTR = @have_libattr@
117 HAVE_LIBICU = @have_libicu@
118 HAVE_OPENAT = @have_openat@
119 HAVE_FSTATAT = @have_fstatat@
120 HAVE_SG_IO = @have_sg_io@
121 HAVE_HDIO_GETGEO = @have_hdio_getgeo@
122 HAVE_SYSTEMD = @have_systemd@
123 SYSTEMD_SYSTEM_UNIT_DIR = @systemd_system_unit_dir@
124 HAVE_CROND = @have_crond@
125 CROND_DIR = @crond_dir@
126 HAVE_UDEV = @have_udev@
127 UDEV_RULE_DIR = @udev_rule_dir@
128 HAVE_LIBURCU_ATOMIC64 = @have_liburcu_atomic64@
130 GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall
131 # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl
133 # _LGPL_SOURCE is for liburcu to work correctly with GPL/LGPL programs
134 PCFLAGS = -D_LGPL_SOURCE -D_GNU_SOURCE $(GCCFLAGS)
135 DEPENDFLAGS = -D__linux__
136 ifeq ($(HAVE_FLS),yes)
139 ifeq ($(HAVE_MNTENT),yes)
140 PCFLAGS+= -DHAVE_MNTENT
142 ifeq ($(HAVE_FSETXATTR),yes)
143 PCFLAGS+= -DHAVE_FSETXATTR
145 ifeq ($(NEED_INTERNAL_FSXATTR),yes)
146 PCFLAGS+= -DOVERRIDE_SYSTEM_FSXATTR
148 ifeq ($(NEED_INTERNAL_FSCRYPT_ADD_KEY_ARG),yes)
149 PCFLAGS+= -DOVERRIDE_SYSTEM_FSCRYPT_ADD_KEY_ARG
151 ifeq ($(NEED_INTERNAL_FSCRYPT_POLICY_V2),yes)
152 PCFLAGS+= -DOVERRIDE_SYSTEM_FSCRYPT_POLICY_V2
154 ifeq ($(HAVE_GETFSMAP),yes)
155 PCFLAGS+= -DHAVE_GETFSMAP
157 ifeq ($(HAVE_FALLOCATE),yes)
158 PCFLAGS += -DHAVE_FALLOCATE
161 LIBICU_LIBS = @libicu_LIBS@
162 LIBICU_CFLAGS = @libicu_CFLAGS@
163 ifeq ($(HAVE_LIBURCU_ATOMIC64),yes)
164 PCFLAGS += -DHAVE_LIBURCU_ATOMIC64
167 SANITIZER_CFLAGS += @addrsan_cflags@ @threadsan_cflags@ @ubsan_cflags@
168 SANITIZER_LDFLAGS += @addrsan_ldflags@ @threadsan_ldflags@ @ubsan_ldflags@
170 # Use special ar/ranlib wrappers if we have lto
171 HAVE_LTO = @have_lto@
172 ifeq ($(HAVE_LTO),yes)
173 OPTIMIZER += @lto_cflags@
174 LOADERFLAGS += @lto_ldflags@
176 RANLIB = @gcc_ranlib@
180 -DVERSION=\"$(PKG_VERSION)\" -DLOCALEDIR=\"$(PKG_LOCALE_DIR)\" \
181 -DPACKAGE=\"$(PKG_NAME)\" -I$(TOPDIR)/include -I$(TOPDIR)/libxfs \
184 ifeq ($(ENABLE_GETTEXT),yes)
185 GCFLAGS += -DENABLE_GETTEXT
188 BUILD_CFLAGS += $(GCFLAGS) $(PCFLAGS)
189 # First, Sanitizer, Global, Platform, Local CFLAGS
190 CFLAGS += $(FCFLAGS) $(SANITIZER_CFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)
192 include $(TOPDIR)/include/buildmacros
197 # For targets that should always be rebuilt,
198 # define a target that is never up-to-date.
199 # Targets needing this should depend on $(_FORCE)
200 _FORCE = __force_build