]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - include/buildrules
xfsprogs: clean up make install build V2
[thirdparty/xfsprogs-dev.git] / include / buildrules
1 #
2 # Copyright (c) 1999, 2001-2003 Silicon Graphics, Inc. All Rights Reserved.
3 #
4 ifndef _BUILDRULES_INCLUDED_
5 _BUILDRULES_INCLUDED_ = 1
6
7 include $(TOPDIR)/include/builddefs
8
9 clean clobber : $(addsuffix -clean,$(SUBDIRS))
10 @rm -f $(DIRT) .dep
11 @rm -fr $(DIRDIRT)
12 %-clean:
13 @echo "Cleaning $*"
14 $(Q)$(MAKE) $(MAKEOPTS) -C $* clean
15
16 # Never blow away subdirs
17 ifdef SUBDIRS
18 .PRECIOUS: $(SUBDIRS)
19 .PHONY: $(SUBDIRS)
20
21 $(SUBDIRS):
22 @echo "Building $@"
23 $(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@
24 endif
25
26 source-link:
27 @test -z "$$DIR" && DIR="."; \
28 for f in `echo $(SRCFILES) $(SUBDIRS) $(POTHEAD)`; do \
29 if test -d $$f ; then \
30 mkdir $(TOPDIR)/$(PKG_NAME)-$(PKG_VERSION)/$$DIR/$$f || exit $$?; \
31 $(MAKEF) DIR=$$DIR/$$f -C $$f $@ || exit $$?; \
32 else \
33 ln $$f $(TOPDIR)/$(PKG_NAME)-$(PKG_VERSION)/$$DIR/$$f || exit $$?; \
34 fi; \
35 done
36
37 #
38 # Standard targets
39 #
40
41 ifdef LTCOMMAND
42 $(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES)
43 @echo " [LD] $@"
44 $(Q)$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
45 endif
46
47 ifdef LTLIBRARY
48 $(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS)
49 @echo " [LD] $@"
50 $(Q)$(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)
51
52 %.lo: %.c
53 @echo " [CC] $@"
54 $(Q)$(LTCOMPILE) -c $<
55 else
56 %.o: %.c
57 @echo " [CC] $@"
58 $(Q)$(CC) $(CFLAGS) -c $<
59
60 endif
61
62 ifdef POTHEAD
63 $(POTHEAD): $(XGETTEXTFILES)
64 @echo " [GETTXT] $@"
65 $(Q)$(XGETTEXT) --language=C --keyword=_ --keyword=N_ -o $@ $(XGETTEXTFILES)
66
67 # Update translations
68 update-po: $(POTHEAD) $(wildcard $(TOPDIR)/po/*.po)
69 catalogs=$(wildcard $(TOPDIR)/po/*.po); \
70 for cat in $$catalogs; do \
71 lang=`basename $$cat .po`; \
72 mv $$lang.po $$lang.old.po; \
73 echo "$$lang:"; \
74 if $(MSGMERGE) $$lang.old.po $(POTHEAD) -o $$lang.po; then \
75 rm -f $$lang.old.po; \
76 else \
77 echo "msgmerge for $$lang failed!"; \
78 rm -f $$lang.po; \
79 mv $$lang.old.po $$lang.po; \
80 fi; \
81 done
82
83 %.mo: %.po
84 @echo " [MSGFMT] $@"
85 $(Q)$(MSGFMT) -c --statistics -o $@ $<
86 endif
87
88 endif # _BUILDRULES_INCLUDED_
89
90 $(_FORCE):
91
92 # dependency build is automatic, relies on gcc -MM to generate.
93 .PHONY : depend ltdepend install-qa
94
95 MAKEDEP := $(MAKEDEPEND) $(CFLAGS)
96
97 ltdepend: $(CFILES) $(HFILES)
98 @echo " [DEP]"
99 $(Q)$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .dep
100
101 depend: $(CFILES) $(HFILES)
102 @echo " [DEP]"
103 $(Q)$(MAKEDEP) $(CFILES) > .dep