]>
Commit | Line | Data |
---|---|---|
fc49813f | 1 | # |
82805b60 | 2 | # Copyright (c) 2000-2006 Silicon Graphics, Inc. All Rights Reserved. |
dfc130f3 | 3 | # |
fc49813f | 4 | |
35714853 DC |
5 | ifeq ("$(origin V)", "command line") |
6 | BUILD_VERBOSE = $(V) | |
7 | endif | |
8 | ifndef BUILD_VERBOSE | |
9 | BUILD_VERBOSE = 0 | |
10 | endif | |
11 | ||
12 | ifeq ($(BUILD_VERBOSE),1) | |
13 | Q = | |
14 | else | |
15 | Q = @ | |
16 | endif | |
17 | ||
18 | MAKEOPTS = --no-print-directory Q=$(Q) | |
19 | ||
fc49813f NS |
20 | TOPDIR = . |
21 | HAVE_BUILDDEFS = $(shell test -f $(TOPDIR)/include/builddefs && echo yes || echo no) | |
22 | ||
23 | ifeq ($(HAVE_BUILDDEFS), yes) | |
24 | include $(TOPDIR)/include/builddefs | |
25 | endif | |
26 | ||
10a41599 CH |
27 | SRCDIR = $(PKG_NAME)-$(PKG_VERSION) |
28 | SRCTAR = $(PKG_NAME)-$(PKG_VERSION).tar.gz | |
1f31bd25 | 29 | SRCTARXZ = $(PKG_NAME)-$(PKG_VERSION).tar.xz |
10a41599 | 30 | |
42e5b5df | 31 | CONFIGURE = aclocal.m4 configure config.guess config.sub install-sh ltmain.sh |
81fba137 | 32 | LSRCFILES = configure.ac release.sh README VERSION $(CONFIGURE) |
56c84e02 | 33 | SRCTARINC = m4/libtool.m4 m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 \ |
48212a30 | 34 | m4/ltversion.m4 po/xfsprogs.pot .gitcensus $(CONFIGURE) |
932b0ba9 | 35 | LDIRT = config.log .ltdep .dep config.status config.cache confdefs.h \ |
1f31bd25 | 36 | conftest* built .census install.* install-dev.* *.gz *.xz \ |
932b0ba9 | 37 | autom4te.cache/* libtool include/builddefs include/platform_defs.h |
10a41599 CH |
38 | |
39 | ifeq ($(HAVE_BUILDDEFS), yes) | |
40 | LDIRDIRT = $(SRCDIR) | |
1f31bd25 | 41 | LDIRT += $(SRCTAR) $(SRCTARXZ) |
10a41599 | 42 | endif |
f937adac | 43 | |
337d9a24 DC |
44 | # header install rules to populate include/xfs correctly |
45 | HDR_SUBDIRS = include libxfs | |
636b4d91 | 46 | |
b28b84ca DW |
47 | LIBFROG_SUBDIR = libfrog |
48 | DLIB_SUBDIRS = libxlog libxcmd libhandle | |
636b4d91 | 49 | LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS) |
ec0a99fa | 50 | TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \ |
95b1e505 | 51 | mdrestore repair rtcp m4 man doc debian spaceman scrub |
dd30c0ae | 52 | |
ec0a99fa FJ |
53 | ifneq ("$(PKG_PLATFORM)","darwin") |
54 | TOOL_SUBDIRS += fsr | |
55 | endif | |
56 | ||
dd30c0ae JT |
57 | ifneq ("$(XGETTEXT)","") |
58 | TOOL_SUBDIRS += po | |
59 | endif | |
fc49813f | 60 | |
5d87ed9d JT |
61 | # If we are on OS X, use glibtoolize from MacPorts, as OS X doesn't have |
62 | # libtoolize binary itself. | |
63 | LIBTOOLIZE_TEST=$(shell libtoolize --version >/dev/null 2>&1 && echo found) | |
64 | LIBTOOLIZE_BIN=libtoolize | |
65 | ifneq ("$(LIBTOOLIZE_TEST)","found") | |
66 | LIBTOOLIZE_BIN=glibtoolize | |
67 | endif | |
68 | ||
cebd3912 | 69 | # include is listed last so it is processed last in clean rules. |
b28b84ca | 70 | SUBDIRS = $(LIBFROG_SUBDIR) $(LIB_SUBDIRS) $(TOOL_SUBDIRS) include |
2a519b73 | 71 | |
1eb10ccb | 72 | default: include/builddefs include/platform_defs.h |
fc49813f | 73 | ifeq ($(HAVE_BUILDDEFS), no) |
35714853 | 74 | $(Q)$(MAKE) $(MAKEOPTS) -C . $@ |
fc49813f | 75 | else |
337d9a24 | 76 | $(Q)$(MAKE) $(MAKEOPTS) headers |
35714853 | 77 | $(Q)$(MAKE) $(MAKEOPTS) $(SUBDIRS) |
fc49813f NS |
78 | endif |
79 | ||
2a519b73 | 80 | # tool/lib dependencies |
636b4d91 | 81 | # note: include/xfs is set up by libxfs, too, so everything is dependent on it. |
b28b84ca DW |
82 | $(LIBFROG_SUBDIR): include |
83 | $(LIB_SUBDIRS) $(TOOL_SUBDIRS): include libfrog | |
636b4d91 DC |
84 | $(DLIB_SUBDIRS) $(TOOL_SUBDIRS): libxfs |
85 | db logprint: libxlog | |
bf3256b2 | 86 | fsr: libhandle |
636b4d91 | 87 | growfs: libxcmd |
2a519b73 | 88 | io: libxcmd libhandle |
2a519b73 | 89 | quota: libxcmd |
1b1b5359 | 90 | repair: libxlog libxcmd |
3616eb86 | 91 | copy: libxlog |
82c3a179 | 92 | mkfs: libxcmd |
48ec2905 | 93 | spaceman: libxcmd |
95b1e505 | 94 | scrub: libhandle libxcmd |
2a519b73 | 95 | |
fc49813f NS |
96 | ifeq ($(HAVE_BUILDDEFS), yes) |
97 | include $(BUILDRULES) | |
98 | else | |
99 | clean: # if configure hasn't run, nothing to clean | |
100 | endif | |
101 | ||
5d87ed9d | 102 | |
07c561fe AG |
103 | # Recent versions of libtool require the -i option for copying auxiliary |
104 | # files (config.sub, config.guess, install-sh, ltmain.sh), while older | |
105 | # versions will copy those files anyway, and don't understand -i. | |
5d87ed9d | 106 | LIBTOOLIZE_INSTALL = `$(LIBTOOLIZE_BIN) -n -i >/dev/null 2>/dev/null && echo -i` |
07c561fe | 107 | |
5893de54 | 108 | configure: configure.ac |
5d87ed9d | 109 | $(LIBTOOLIZE_BIN) -c $(LIBTOOLIZE_INSTALL) -f |
07c561fe AG |
110 | cp include/install-sh . |
111 | aclocal -I m4 | |
fc49813f | 112 | autoconf |
1eb10ccb CH |
113 | |
114 | include/builddefs: configure | |
595e27db | 115 | ./configure $$LOCAL_CONFIGURE_OPTIONS |
fc49813f | 116 | |
2a519b73 BN |
117 | include/platform_defs.h: include/builddefs |
118 | ## Recover from the removal of $@ | |
119 | @if test -f $@; then :; else \ | |
120 | rm -f include/builddefs; \ | |
35714853 | 121 | $(MAKE) $(MAKEOPTS) $(AM_MAKEFLAGS) include/builddefs; \ |
2a519b73 BN |
122 | fi |
123 | ||
91128e4c | 124 | install: $(addsuffix -install,$(SUBDIRS)) |
fc49813f NS |
125 | $(INSTALL) -m 755 -d $(PKG_DOC_DIR) |
126 | $(INSTALL) -m 644 README $(PKG_DOC_DIR) | |
127 | ||
91128e4c | 128 | install-dev: $(addsuffix -install-dev,$(SUBDIRS)) |
2a519b73 | 129 | |
2a519b73 | 130 | %-install: |
91128e4c DC |
131 | @echo "Installing $@" |
132 | $(Q)$(MAKE) $(MAKEOPTS) -C $* install | |
2a519b73 BN |
133 | |
134 | %-install-dev: | |
91128e4c DC |
135 | @echo "Installing $@" |
136 | $(Q)$(MAKE) $(MAKEOPTS) -C $* install-dev | |
fc49813f | 137 | |
1eb10ccb | 138 | distclean: clean |
35714853 | 139 | $(Q)rm -f $(LDIRT) |
1eb10ccb CH |
140 | |
141 | realclean: distclean | |
48212a30 | 142 | $(Q)rm -f $(CONFIGURE) .gitcensus |
10a41599 CH |
143 | |
144 | # | |
145 | # All this gunk is to allow for a make dist on an unconfigured tree | |
146 | # | |
147 | dist: include/builddefs include/platform_defs.h default | |
148 | ifeq ($(HAVE_BUILDDEFS), no) | |
35714853 | 149 | $(Q)$(MAKE) $(MAKEOPTS) -C . $@ |
10a41599 | 150 | else |
35714853 | 151 | $(Q)$(MAKE) $(MAKEOPTS) $(SRCTAR) |
10a41599 CH |
152 | endif |
153 | ||
154 | deb: include/builddefs include/platform_defs.h | |
155 | ifeq ($(HAVE_BUILDDEFS), no) | |
35714853 | 156 | $(Q)$(MAKE) $(MAKEOPTS) -C . $@ |
10a41599 | 157 | else |
8a70f64c DC |
158 | # need to build translations before the source tarball |
159 | $(Q)$(MAKE) $(MAKEOPTS) -C po | |
35714853 | 160 | $(Q)$(MAKE) $(MAKEOPTS) $(SRCDIR) |
ec1cf08d NS |
161 | $(Q)rm -f $(PKG_NAME)_$(PKG_VERSION).orig.tar.gz |
162 | $(Q)$(LN_S) $(SRCTAR) $(PKG_NAME)_$(PKG_VERSION).orig.tar.gz | |
163 | $(Q)cd $(SRCDIR) && dpkg-buildpackage $$LOCAL_DPKG_OPTIONS # -sa -S | |
10a41599 CH |
164 | endif |
165 | ||
48212a30 | 166 | $(SRCDIR) : $(_FORCE) $(SRCTAR) |
10a41599 | 167 | rm -fr $@ |
48212a30 | 168 | $(Q)$(TAR) -zxvf $(SRCTAR) |
10a41599 | 169 | |
48212a30 BM |
170 | $(SRCTAR) : default $(SRCTARINC) .gitcensus |
171 | $(Q)$(TAR) --transform "s,^,$(SRCDIR)/," -zcf $(SRCDIR).tar.gz \ | |
172 | `cat .gitcensus` $(SRCTARINC) | |
10a41599 | 173 | echo Wrote: $@ |
48212a30 | 174 | |
1f31bd25 ES |
175 | $(SRCTARXZ) : default $(SRCTARINC) .gitcensus |
176 | $(Q)$(TAR) --transform "s,^,$(SRCDIR)/," -Jcf $(SRCDIR).tar.xz \ | |
177 | `cat .gitcensus` $(SRCTARINC) | |
178 | echo Wrote: $@ | |
179 | ||
48212a30 BM |
180 | .gitcensus: $(_FORCE) |
181 | $(Q)if test -d .git; then \ | |
182 | git ls-files > .gitcensus && echo "new .gitcensus"; \ | |
183 | fi |