blob: 0deaa9a0cc18800f91c88d2bccccaf12be6581b7 [file] [log] [blame]
#
# 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
# headers to install in include/xfs
PKGHFILES = xfs_fs.h \
xfs_types.h
# headers with build dependencies
SHFILES = init.h \
crc32defs.h \
crc32table.h \
libxfs_priv.h
HFILES = $(addprefix support/, $(SHFILES)) \
xfs_dir2_priv.h
# headers installed in QA targets
SQAHFILES = libxfs_api_defs.h \
libxfs_io.h \
xfs_arch.h \
xfs_btree_trace.h \
xfs_inode.h \
xfs_mount.h \
xfs_trace.h \
xfs_trans.h
QAHFILES = $(addprefix support/, $(SQAHFILES)) \
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_attr_remote.h \
xfs_cksum.h \
xfs_da_btree.h \
xfs_da_format.h \
xfs_dir2.h \
xfs_format.h \
xfs_ialloc.h \
xfs_ialloc_btree.h \
xfs_inode_buf.h \
xfs_inode_fork.h \
xfs_log_format.h \
xfs_quota_defs.h \
xfs_sb.h \
xfs_shared.h \
xfs_trans_resv.h \
xfs_trans_space.h \
# supporting C files
SCFILES = cache.c \
crc32.c \
init.c \
kmem.c \
logitem.c \
radix-tree.c \
rdwr.c \
trans.c \
util.c
CFILES = $(addprefix support/, $(SCFILES)) \
xfs_alloc.c \
xfs_alloc_btree.c \
xfs_attr.c \
xfs_attr_leaf.c \
xfs_attr_remote.c \
xfs_bmap.c \
xfs_bmap_btree.c \
xfs_btree.c \
xfs_da_btree.c \
xfs_da_format.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_ialloc.c \
xfs_inode_buf.c \
xfs_inode_fork.c \
xfs_ialloc_btree.c \
xfs_log_rlimit.c \
xfs_rtbitmap.c \
xfs_sb.c \
xfs_symlink_remote.c \
xfs_trans_resv.c
CFILES += $(addprefix support/, $(PKG_PLATFORM).c)
SPCFILES = darwin.c freebsd.c irix.c linux.c
SLSRCFILES = $(shell echo $(SPCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
SLSRCFILES += gen_crc32table.c
LSRCFILES = $(addprefix support/, $(SLSRCFILES))
#
# Tracing flags:
# -DIO_DEBUG reads and writes of buffers
# -DMEM_DEBUG all zone memory use
# -DLI_DEBUG log item (ino/buf) manipulation
# -DXACT_DEBUG transaction state changes
#
#LCFLAGS +=
FCFLAGS = -I. -Isupport
LTLIBS = $(LIBPTHREAD) $(LIBRT)
# don't try linking xfs_repair with a debug libxfs.
DEBUG = -DNDEBUG
LDIRT = $(addprefix support/, gen_crc32table crc32table.h crc32selftest)
default: xfs support/crc32selftest ltdepend $(LTLIBRARY)
# set up include/xfs header directory
xfs: $(addsuffix -hdrs, $(PKGHFILES) $(QAHFILES))
%-hdrs:
$(Q)$(LN_S) -f $(PWD)/libxfs/$* $(TOPDIR)/include/xfs/$(notdir $*)
support/crc32table.h: support/gen_crc32table.c
@echo " [CC] support/gen_crc32table"
$(Q) $(CC) $(CFLAGS) -o support/gen_crc32table $<
@echo " [GENERATE] $@"
$(Q) support/gen_crc32table > support/crc32table.h
# The selftest binary will return an error if it fails. This is made a
# dependency of the build process so that we refuse to build the tools on broken
# systems/architectures. Hence we make sure that xfsprogs will never use a
# busted CRC calculation at build time and hence avoid putting bad CRCs down on
# disk.
support/crc32selftest: $(addprefix support/, gen_crc32table.c crc32table.h crc32.c)
@echo " [TEST] CRC32"
$(Q) $(CC) $(CFLAGS) -D CRC32_SELFTEST=1 support/crc32.c -o $@
$(Q) ./$@
include $(BUILDRULES)
install: default
install-dev: install
$(INSTALL) -m 644 $(HFILES) $(PKG_INC_DIR)
install-qa: install-dev
$(INSTALL) -m 644 $(QAHFILES) $(PKG_INC_DIR)
-include .ltdep