1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
|
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2000-2006 Silicon Graphics, Inc. All Rights Reserved.
#
ifeq ("$(origin V)", "command line")
BUILD_VERBOSE = $(V)
endif
ifndef BUILD_VERBOSE
BUILD_VERBOSE = 0
endif
ifeq ($(BUILD_VERBOSE),1)
Q =
else
Q = @
endif
CHECK=sparse
CHECK_OPTS=-Wsparse-all -Wbitwise -Wno-transparent-union -Wno-return-void -Wno-undef \
-Wno-non-pointer-null -D__CHECK_ENDIAN__ -D__linux__
ifeq ("$(origin C)", "command line")
CHECK_CMD=$(CHECK) $(CHECK_OPTS)
CHECKSRC=$(C)
else
CHECK_CMD=@true
CHECKSRC=0
endif
export CHECK_CMD CHECKSRC
MAKEOPTS = --no-print-directory Q=$(Q)
TOPDIR = .
HAVE_BUILDDEFS = $(shell test -f $(TOPDIR)/include/builddefs && echo yes || echo no)
ifeq ($(HAVE_BUILDDEFS), yes)
include $(TOPDIR)/include/builddefs
endif
SRCDIR = $(PKG_NAME)-$(PKG_VERSION)
SRCTAR = $(PKG_NAME)-$(PKG_VERSION).tar.gz
SRCTARXZ = $(PKG_NAME)-$(PKG_VERSION).tar.xz
CONFIGURE = aclocal.m4 configure config.guess config.sub install-sh ltmain.sh
LSRCFILES = configure.ac release.sh README VERSION $(CONFIGURE)
SRCTARINC = m4/libtool.m4 m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
m4/ltversion.m4 po/xfsprogs.pot .gitcensus $(CONFIGURE)
LDIRT = config.log .ltdep .dep config.status config.cache confdefs.h \
conftest* built .census install.* install-dev.* *.gz *.xz \
autom4te.cache/* libtool include/builddefs
ifeq ($(HAVE_BUILDDEFS), yes)
LDIRDIRT = $(SRCDIR)
LDIRT += $(SRCTAR) $(SRCTARXZ)
endif
# header install rules to populate include/xfs correctly
HDR_SUBDIRS = include libxfs
LIBFROG_SUBDIR = libfrog
DLIB_SUBDIRS = libxlog libxcmd libhandle
LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS)
TOOL_SUBDIRS = copy db estimate fsck fsr growfs io logprint mkfs quota \
mdrestore repair rtcp m4 man doc debian spaceman
ifeq ("$(ENABLE_SCRUB)","yes")
TOOL_SUBDIRS += scrub
endif
ifneq ("$(XGETTEXT)","")
TOOL_SUBDIRS += po
endif
# include is listed last so it is processed last in clean rules.
SUBDIRS = $(LIBFROG_SUBDIR) $(LIB_SUBDIRS) $(TOOL_SUBDIRS) include
default: include/builddefs
ifeq ($(HAVE_BUILDDEFS), no)
$(Q)$(MAKE) $(MAKEOPTS) -C . $@
else
$(Q)$(MAKE) $(MAKEOPTS) headers
$(Q)$(MAKE) $(MAKEOPTS) $(SUBDIRS)
endif
# tool/lib dependencies
# note: include/xfs is set up by libxfs, too, so everything is dependent on it.
$(LIBFROG_SUBDIR): include
$(LIB_SUBDIRS) $(TOOL_SUBDIRS): include libfrog
$(DLIB_SUBDIRS) $(TOOL_SUBDIRS): libxfs
db logprint: libxlog
fsr: libhandle
growfs: libxcmd
io: libxcmd libhandle
quota: libxcmd
repair: libxlog libxcmd
copy: libxlog
mkfs: libxcmd
spaceman: libxcmd libhandle
scrub: libhandle libxcmd
rtcp: libfrog
ifeq ($(HAVE_BUILDDEFS), yes)
include $(BUILDRULES)
else
clean: # if configure hasn't run, nothing to clean
endif
configure: configure.ac
libtoolize -c -i -f
chmod 755 config.guess config.sub install-sh
chmod 644 ltmain.sh m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
m4/ltversion.m4 m4/lt~obsolete.m4
cp include/install-sh .
aclocal -I m4
autoconf
include/builddefs: configure
./configure $$LOCAL_CONFIGURE_OPTIONS
install: $(addsuffix -install,$(SUBDIRS))
$(INSTALL) -m 755 -d $(PKG_DOC_DIR)
$(INSTALL) -m 644 README $(PKG_DOC_DIR)
install-dev: $(addsuffix -install-dev,$(SUBDIRS))
%-install:
@echo "Installing $@"
$(Q)$(MAKE) $(MAKEOPTS) -C $* install
%-install-dev:
@echo "Installing $@"
$(Q)$(MAKE) $(MAKEOPTS) -C $* install-dev
distclean: clean
$(Q)rm -f $(LDIRT)
realclean: distclean
$(Q)rm -f $(CONFIGURE) .gitcensus
#
# All this gunk is to allow for a make dist on an unconfigured tree
#
dist: include/builddefs default
ifeq ($(HAVE_BUILDDEFS), no)
$(Q)$(MAKE) $(MAKEOPTS) -C . $@
else
$(Q)$(MAKE) $(MAKEOPTS) $(SRCTAR)
endif
deb: include/builddefs
ifeq ($(HAVE_BUILDDEFS), no)
$(Q)$(MAKE) $(MAKEOPTS) -C . $@
else
# need to build translations before the source tarball
$(Q)$(MAKE) $(MAKEOPTS) -C po
$(Q)$(MAKE) $(MAKEOPTS) $(SRCDIR)
$(Q)rm -f $(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
$(Q)$(LN_S) $(SRCTAR) $(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
$(Q)cd $(SRCDIR) && dpkg-buildpackage $$LOCAL_DPKG_OPTIONS # -sa -S
endif
$(SRCDIR) : $(_FORCE) $(SRCTAR)
rm -fr $@
$(Q)$(TAR) -zxvf $(SRCTAR)
$(SRCTAR) : default $(SRCTARINC) .gitcensus
$(Q)$(TAR) --transform "s,^,$(SRCDIR)/," -zcf $(SRCDIR).tar.gz \
`cat .gitcensus` $(SRCTARINC)
echo Wrote: $@
$(SRCTARXZ) : default $(SRCTARINC) .gitcensus
$(Q)$(TAR) --transform "s,^,$(SRCDIR)/," -Jcf $(SRCDIR).tar.xz \
`cat .gitcensus` $(SRCTARINC)
echo Wrote: $@
.gitcensus: $(_FORCE)
$(Q)if test -d .git; then \
git ls-files > .gitcensus && echo "new .gitcensus"; \
fi
|