| # SPDX-License-Identifier: GPL-2.0 |
| # Copyright (c) 2000-2006 Silicon Graphics, Inc. All Rights Reserved. |
| # |
| |
| TOPDIR = .. |
| include $(TOPDIR)/include/builddefs |
| |
| LTLIBRARY = libxfs.la |
| LT_CURRENT = 0 |
| LT_REVISION = 0 |
| LT_AGE = 0 |
| # we need a static build even if --disable-static is specified |
| LTLDFLAGS += -static |
| |
| # headers to install in include/xfs |
| PKGHFILES = xfs_fs.h \ |
| xfs_types.h \ |
| xfs_da_format.h \ |
| xfs_format.h \ |
| xfs_log_format.h |
| |
| HFILES = \ |
| defer_item.h \ |
| libxfs_io.h \ |
| libxfs_api_defs.h \ |
| listxattr.h \ |
| init.h \ |
| iunlink.h \ |
| libxfs_priv.h \ |
| linux-err.h \ |
| topology.h \ |
| buf_mem.h \ |
| xfblob.h \ |
| xfile.h \ |
| xfs_ag_resv.h \ |
| xfs_alloc.h \ |
| xfs_alloc_btree.h \ |
| xfs_attr_leaf.h \ |
| xfs_attr_sf.h \ |
| xfs_bit.h \ |
| xfs_bmap.h \ |
| xfs_bmap_btree.h \ |
| xfs_btree.h \ |
| xfs_btree_mem.h \ |
| xfs_btree_staging.h \ |
| xfs_attr_remote.h \ |
| xfs_cksum.h \ |
| xfs_da_btree.h \ |
| xfs_dir2.h \ |
| xfs_errortag.h \ |
| xfs_exchmaps.h \ |
| xfs_group.h \ |
| xfs_ialloc.h \ |
| xfs_ialloc_btree.h \ |
| xfs_inode_buf.h \ |
| xfs_inode_fork.h \ |
| xfs_inode_util.h \ |
| xfs_metadir.h \ |
| xfs_metafile.h \ |
| xfs_parent.h \ |
| xfs_quota_defs.h \ |
| xfs_refcount.h \ |
| xfs_refcount_btree.h \ |
| xfs_rmap.h \ |
| xfs_rmap_btree.h \ |
| xfs_rtbitmap.h \ |
| xfs_rtgroup.h \ |
| xfs_sb.h \ |
| xfs_shared.h \ |
| xfs_trans_resv.h \ |
| xfs_trans_space.h \ |
| xfs_dir2_priv.h |
| |
| CFILES = buf_mem.c \ |
| cache.c \ |
| defer_item.c \ |
| init.c \ |
| inode.c \ |
| iunlink.c \ |
| kmem.c \ |
| listxattr.c \ |
| logitem.c \ |
| rdwr.c \ |
| topology.c \ |
| trans.c \ |
| util.c \ |
| xfblob.c \ |
| xfile.c \ |
| xfs_ag.c \ |
| xfs_ag_resv.c \ |
| xfs_alloc.c \ |
| xfs_alloc_btree.c \ |
| xfs_attr.c \ |
| xfs_attr_leaf.c \ |
| xfs_attr_remote.c \ |
| xfs_bit.c \ |
| xfs_bmap.c \ |
| xfs_bmap_btree.c \ |
| xfs_btree.c \ |
| xfs_btree_mem.c \ |
| xfs_btree_staging.c \ |
| xfs_da_btree.c \ |
| xfs_defer.c \ |
| xfs_dir2.c \ |
| xfs_dir2_block.c \ |
| xfs_dir2_data.c \ |
| xfs_dir2_leaf.c \ |
| xfs_dir2_node.c \ |
| xfs_dir2_sf.c \ |
| xfs_dquot_buf.c \ |
| xfs_exchmaps.c \ |
| xfs_group.c \ |
| xfs_ialloc.c \ |
| xfs_iext_tree.c \ |
| xfs_inode_buf.c \ |
| xfs_inode_fork.c \ |
| xfs_inode_util.c \ |
| xfs_ialloc_btree.c \ |
| xfs_metadir.c \ |
| xfs_metafile.c \ |
| xfs_log_rlimit.c \ |
| xfs_parent.c \ |
| xfs_refcount.c \ |
| xfs_refcount_btree.c \ |
| xfs_rmap.c \ |
| xfs_rmap_btree.c \ |
| xfs_rtbitmap.c \ |
| xfs_rtgroup.c \ |
| xfs_sb.c \ |
| xfs_symlink_remote.c \ |
| xfs_trans_inode.c \ |
| xfs_trans_resv.c \ |
| xfs_trans_space.c \ |
| xfs_types.c |
| |
| EXTRA_CFILES=\ |
| ioctl_c_dummy.c |
| |
| EXTRA_CXXFILES=\ |
| ioctl_cxx_dummy.cpp |
| |
| EXTRA_OBJECTS=\ |
| $(patsubst %.c,%.o,$(EXTRA_CFILES)) \ |
| $(patsubst %.cpp,%.o,$(EXTRA_CXXFILES)) |
| |
| LDIRT += $(EXTRA_OBJECTS) |
| |
| # |
| # Tracing flags: |
| # -DMEM_DEBUG all zone memory use |
| # -DLI_DEBUG log item (ino/buf) manipulation |
| # -DXACT_DEBUG transaction state changes |
| # |
| #LCFLAGS += |
| |
| ifeq ($(HAVE_MEMFD_CREATE),yes) |
| LCFLAGS += -DHAVE_MEMFD_CREATE |
| endif |
| |
| ifeq ($(HAVE_GETRANDOM_NONBLOCK),yes) |
| LCFLAGS += -DHAVE_GETRANDOM_NONBLOCK |
| endif |
| |
| FCFLAGS = -I. |
| |
| LTLIBS = $(LIBPTHREAD) $(LIBRT) |
| |
| # don't try linking xfs_repair with a debug libxfs. |
| DEBUG = -DNDEBUG |
| |
| default: ltdepend $(LTLIBRARY) $(EXTRA_OBJECTS) |
| |
| %dummy.o: %dummy.cpp |
| @echo " [CXXD] $@" |
| $(Q)$(CXX) $(CXXFLAGS) -c $< |
| |
| %dummy.o: %dummy.c |
| @echo " [CCD] $@" |
| $(Q)$(CC) $(CFLAGS) -c $< |
| |
| MAKECXXDEP := $(MAKEDEPEND) $(CXXFLAGS) |
| |
| .PHONY: .extradep |
| |
| .extradep: $(EXTRA_CFILES) $(EXTRA_CXXFILES) $(HFILES) |
| $(Q)$(MAKEDEP) $(EXTRA_CFILES) > .extradep |
| $(Q)$(MAKECXXDEP) $(EXTRA_CXXFILES) >> .extradep |
| |
| # set up include/xfs header directory |
| include $(BUILDRULES) |
| |
| install: default |
| $(INSTALL) -m 755 -d $(PKG_INC_DIR) |
| |
| install-headers: $(addsuffix -hdrs, $(PKGHFILES)) |
| |
| %-hdrs: |
| $(Q)$(LN_S) -f $(CURDIR)/$* $(TOPDIR)/include/xfs/$* |
| |
| install-dev: install |
| $(INSTALL) -m 644 $(PKGHFILES) $(PKG_INC_DIR) |
| |
| # We need to install the headers before building the dependencies. If we |
| # include the .ltdep file, the makefile decides that it needs to build the |
| # dependencies to remake the makefile before running the header install target, |
| # hence making it impossible to avoid errors being thrown by the dependency |
| # generation. Hence we play games so that we only include this file if we aren't |
| # running the install-headers target. |
| ifndef NODEP |
| -include .ltdep |
| -include .extradep |
| endif |