]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blame - include/buildrules
xfs: fix off-by-one error in xfs_rtalloc_query_range
[thirdparty/xfsprogs-dev.git] / include / buildrules
CommitLineData
2bd0ea18 1#
6e3140c7 2# Copyright (c) 1999, 2001-2003 Silicon Graphics, Inc. All Rights Reserved.
2bd0ea18
NS
3#
4ifndef _BUILDRULES_INCLUDED_
5_BUILDRULES_INCLUDED_ = 1
6
7include $(TOPDIR)/include/builddefs
8
2a519b73 9clean clobber : $(addsuffix -clean,$(SUBDIRS))
932b0ba9 10 @rm -f $(DIRT) .ltdep .dep
35714853 11 @rm -fr $(DIRDIRT)
2a519b73 12%-clean:
35714853
DC
13 @echo "Cleaning $*"
14 $(Q)$(MAKE) $(MAKEOPTS) -C $* clean
2bd0ea18 15
b08338d7 16ifdef HDR_SUBDIRS
7af0c6c3
DC
17.PHONY: .xfs
18
337d9a24 19headers: $(addsuffix -headers, $(HDR_SUBDIRS))
7af0c6c3
DC
20
21%-headers: .xfs
337d9a24 22 @echo " [HEADERS] $*"
b08338d7 23 $(Q)$(MAKE) $(MAKEOPTS) -C $* NODEP=1 install-headers
7af0c6c3
DC
24
25.xfs:
26 @mkdir -p include/xfs
b08338d7 27endif
337d9a24 28
2bd0ea18
NS
29# Never blow away subdirs
30ifdef SUBDIRS
31.PRECIOUS: $(SUBDIRS)
2a519b73
BN
32.PHONY: $(SUBDIRS)
33
2bd0ea18 34$(SUBDIRS):
35714853
DC
35 @echo "Building $@"
36 $(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@
2bd0ea18
NS
37endif
38
f937adac
NS
39#
40# Standard targets
41#
42
43ifdef LTCOMMAND
44$(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES)
35714853
DC
45 @echo " [LD] $@"
46 $(Q)$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
f937adac
NS
47endif
48
49ifdef LTLIBRARY
50$(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS)
35714853
DC
51 @echo " [LD] $@"
52 $(Q)$(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)
f937adac
NS
53
54%.lo: %.c
35714853
DC
55 @echo " [CC] $@"
56 $(Q)$(LTCOMPILE) -c $<
57else
58%.o: %.c
59 @echo " [CC] $@"
60 $(Q)$(CC) $(CFLAGS) -c $<
61
f937adac
NS
62endif
63
1b758ea9 64ifdef POTHEAD
a1f9bd42 65$(POTHEAD): $(XGETTEXTFILES)
35714853
DC
66 @echo " [GETTXT] $@"
67 $(Q)$(XGETTEXT) --language=C --keyword=_ --keyword=N_ -o $@ $(XGETTEXTFILES)
9440d84d 68
8c053393
AM
69# Update translations
70update-po: $(POTHEAD) $(wildcard $(TOPDIR)/po/*.po)
9e95c34e 71 catalogs="$(wildcard $(TOPDIR)/po/*.po)"; \
8c053393
AM
72 for cat in $$catalogs; do \
73 lang=`basename $$cat .po`; \
74 mv $$lang.po $$lang.old.po; \
75 echo "$$lang:"; \
76 if $(MSGMERGE) $$lang.old.po $(POTHEAD) -o $$lang.po; then \
77 rm -f $$lang.old.po; \
78 else \
79 echo "msgmerge for $$lang failed!"; \
80 rm -f $$lang.po; \
81 mv $$lang.old.po $$lang.po; \
82 fi; \
83 done
9440d84d 84
638473d8 85%.mo: %.po
35714853
DC
86 @echo " [MSGFMT] $@"
87 $(Q)$(MSGFMT) -c --statistics -o $@ $<
9440d84d
NS
88endif
89
f937adac 90endif # _BUILDRULES_INCLUDED_
2bd0ea18
NS
91
92$(_FORCE):
93
d9320881 94# dependency build is automatic, relies on gcc -MM to generate.
270c3128
DC
95#
96# This is a bit messy. It regenerates the dependencies on each build so
97# that we catch files being added and removed. There are other ways of doing
98# this (e.g. per-file dependency files) but that requires more in-depth changes
99# to the build system. Compile time is not an issue for us, so the
100# rebuild on every make invocation isn't a problem we need to care about. Just
101# do it silently so it doesn't make the build unnecessarily noisy.
102
5711848a 103.PHONY : depend ltdepend
2bd0ea18 104
d9320881 105MAKEDEP := $(MAKEDEPEND) $(CFLAGS)
82f8efc6 106
270c3128
DC
107ltdepend: rmltdep .ltdep
108
109rmltdep:
636b4d91 110 $(Q)rm -f .ltdep
932b0ba9
AE
111
112.ltdep: $(CFILES) $(HFILES)
932b0ba9
AE
113 $(Q)$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .ltdep
114
270c3128
DC
115depend: rmdep .dep
116
117rmdep:
636b4d91 118 $(Q)rm -f .dep
82f8efc6 119
932b0ba9 120.dep: $(CFILES) $(HFILES)
d9320881 121 $(Q)$(MAKEDEP) $(CFILES) > .dep