]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blame - scrub/Makefile
debian: bump compat level to 11
[thirdparty/xfsprogs-dev.git] / scrub / Makefile
CommitLineData
959ef981 1# SPDX-License-Identifier: GPL-2.0
95b1e505
DW
2# Copyright (C) 2018 Oracle. All Rights Reserved.
3#
4
5TOPDIR = ..
02d21c44
DW
6builddefs=$(TOPDIR)/include/builddefs
7include $(builddefs)
95b1e505 8
9b72515a 9SCRUB_PREREQS=$(HAVE_OPENAT)$(HAVE_FSTATAT)$(HAVE_GETFSMAP)
95b1e505 10
9b72515a 11ifeq ($(SCRUB_PREREQS),yesyesyes)
95b1e505
DW
12LTCOMMAND = xfs_scrub
13INSTALL_SCRUB = install-scrub
f1dca11c
DW
14XFS_SCRUB_ALL_PROG = xfs_scrub_all
15XFS_SCRUB_ARGS = -b -n
824b5807
DW
16ifeq ($(HAVE_SYSTEMD),yes)
17INSTALL_SCRUB += install-systemd
18SYSTEMD_SERVICES = xfs_scrub@.service xfs_scrub_all.service xfs_scrub_all.timer xfs_scrub_fail@.service
19OPTIONAL_TARGETS += $(SYSTEMD_SERVICES)
20endif
21ifeq ($(HAVE_CROND),yes)
22INSTALL_SCRUB += install-crond
23CRONTABS = xfs_scrub_all.cron
24OPTIONAL_TARGETS += $(CRONTABS)
25# Don't enable the crontab by default for now
26CROND_DIR = $(PKG_LIB_DIR)/$(PKG_NAME)
27endif
28
95b1e505
DW
29endif # scrub_prereqs
30
31HFILES = \
32common.h \
d11cc69e 33counter.h \
b3f76f94 34descr.h \
a555a1f4 35disk.h \
c6eb0ff2 36filemap.h \
604dd334 37fscounters.h \
372d4ba9 38inodes.h \
ed60d210 39progress.h \
2000470d 40read_verify.h \
ee310b0c 41repair.h \
fd7d73c0 42scrub.h \
bc94c5d6 43spacemap.h \
4bbed4ec 44unicrash.h \
b364a9c0 45vfs.h \
95b1e505
DW
46xfs_scrub.h
47
48CFILES = \
49common.c \
d11cc69e 50counter.c \
b3f76f94 51descr.c \
a555a1f4 52disk.c \
c6eb0ff2 53filemap.c \
604dd334 54fscounters.c \
372d4ba9 55inodes.c \
50a573a7 56phase1.c \
e758ad01 57phase2.c \
fa16b376 58phase3.c \
7e36bc0f 59phase4.c \
c4892e76 60phase5.c \
b364a9c0 61phase6.c \
698c6c7c 62phase7.c \
ed60d210 63progress.c \
2000470d 64read_verify.c \
ee310b0c 65repair.c \
fd7d73c0 66scrub.c \
bc94c5d6 67spacemap.c \
b364a9c0 68vfs.c \
95b1e505
DW
69xfs_scrub.c
70
b3aba575
TT
71LLDLIBS += $(LIBHANDLE) $(LIBFROG) $(LIBICU_LIBS) $(LIBRT) $(LIBURCU) \
72 $(LIBPTHREAD)
bff5d1a4 73LTDEPENDENCIES += $(LIBHANDLE) $(LIBFROG)
95b1e505
DW
74LLDFLAGS = -static
75
173a0283
DW
76ifeq ($(HAVE_MALLINFO),yes)
77LCFLAGS += -DHAVE_MALLINFO
78endif
79
50a573a7
DW
80ifeq ($(HAVE_SYNCFS),yes)
81LCFLAGS += -DHAVE_SYNCFS
82endif
83
396cd022
DW
84ifeq ($(HAVE_LIBATTR),yes)
85LCFLAGS += -DHAVE_LIBATTR
86endif
87
bff5d1a4 88ifeq ($(HAVE_LIBICU),yes)
4bbed4ec 89CFILES += unicrash.c
bff5d1a4 90LCFLAGS += -DHAVE_LIBICU $(LIBICU_CFLAGS)
4bbed4ec
DW
91endif
92
03c0cd8f
DW
93ifeq ($(HAVE_SG_IO),yes)
94LCFLAGS += -DHAVE_SG_IO
95endif
96
97ifeq ($(HAVE_HDIO_GETGEO),yes)
98LCFLAGS += -DHAVE_HDIO_GETGEO
99endif
100
17728a41
ES
101LDIRT = $(XFS_SCRUB_ALL_PROG) *.service *.cron
102
824b5807 103default: depend $(LTCOMMAND) $(XFS_SCRUB_ALL_PROG) $(OPTIONAL_TARGETS)
f1dca11c 104
02d21c44 105xfs_scrub_all: xfs_scrub_all.in $(builddefs)
f1dca11c 106 @echo " [SED] $@"
f26db477 107 $(Q)$(SED) -e "s|@sbindir@|$(PKG_SBIN_DIR)|g" \
3dd91472 108 -e "s|@pkg_version@|$(PKG_VERSION)|g" \
f1dca11c
DW
109 -e "s|@scrub_args@|$(XFS_SCRUB_ARGS)|g" < $< > $@
110 $(Q)chmod a+x $@
95b1e505 111
02d21c44 112phase5.o unicrash.o xfs.o: $(builddefs)
396cd022 113
95b1e505
DW
114include $(BUILDRULES)
115
f1dca11c 116install: $(INSTALL_SCRUB)
95b1e505 117
02d21c44 118%.service: %.service.in $(builddefs)
824b5807 119 @echo " [SED] $@"
f26db477 120 $(Q)$(SED) -e "s|@sbindir@|$(PKG_SBIN_DIR)|g" \
824b5807
DW
121 -e "s|@scrub_args@|$(XFS_SCRUB_ARGS)|g" \
122 -e "s|@pkg_lib_dir@|$(PKG_LIB_DIR)|g" \
123 -e "s|@pkg_name@|$(PKG_NAME)|g" < $< > $@
124
02d21c44 125%.cron: %.cron.in $(builddefs)
824b5807 126 @echo " [SED] $@"
f26db477 127 $(Q)$(SED) -e "s|@sbindir@|$(PKG_SBIN_DIR)|g" < $< > $@
824b5807
DW
128
129install-systemd: default $(SYSTEMD_SERVICES)
130 $(INSTALL) -m 755 -d $(SYSTEMD_SYSTEM_UNIT_DIR)
131 $(INSTALL) -m 644 $(SYSTEMD_SERVICES) $(SYSTEMD_SYSTEM_UNIT_DIR)
132 $(INSTALL) -m 755 -d $(PKG_LIB_DIR)/$(PKG_NAME)
133 $(INSTALL) -m 755 xfs_scrub_fail $(PKG_LIB_DIR)/$(PKG_NAME)
134
135install-crond: default $(CRONTABS)
136 $(INSTALL) -m 755 -d $(CROND_DIR)
137 $(INSTALL) -m 644 $(CRONTABS) $(CROND_DIR)
138
f1dca11c 139install-scrub: default
f26db477
DW
140 $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
141 $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
142 $(INSTALL) -m 755 $(XFS_SCRUB_ALL_PROG) $(PKG_SBIN_DIR)
95b1e505
DW
143
144install-dev:
145
146-include .dep