]>
Commit | Line | Data |
---|---|---|
2bd0ea18 | 1 | # |
6e3140c7 | 2 | # Copyright (c) 1999, 2001-2003 Silicon Graphics, Inc. All Rights Reserved. |
2bd0ea18 NS |
3 | # |
4 | ifndef _BUILDRULES_INCLUDED_ | |
5 | _BUILDRULES_INCLUDED_ = 1 | |
6 | ||
7 | include $(TOPDIR)/include/builddefs | |
8 | ||
2a519b73 | 9 | clean 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 | 16 | ifdef HDR_SUBDIRS |
7af0c6c3 DC |
17 | .PHONY: .xfs |
18 | ||
337d9a24 | 19 | headers: $(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 | 27 | endif |
337d9a24 | 28 | |
2bd0ea18 NS |
29 | # Never blow away subdirs |
30 | ifdef 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 |
37 | endif |
38 | ||
f937adac NS |
39 | # |
40 | # Standard targets | |
41 | # | |
42 | ||
43 | ifdef LTCOMMAND | |
44 | $(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES) | |
35714853 DC |
45 | @echo " [LD] $@" |
46 | $(Q)$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS) | |
f937adac NS |
47 | endif |
48 | ||
49 | ifdef 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 $< | |
57 | else | |
58 | %.o: %.c | |
59 | @echo " [CC] $@" | |
60 | $(Q)$(CC) $(CFLAGS) -c $< | |
61 | ||
f937adac NS |
62 | endif |
63 | ||
1b758ea9 | 64 | ifdef 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 |
70 | update-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 |
88 | endif |
89 | ||
f937adac | 90 | endif # _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 | 105 | MAKEDEP := $(MAKEDEPEND) $(CFLAGS) |
82f8efc6 | 106 | |
270c3128 DC |
107 | ltdepend: rmltdep .ltdep |
108 | ||
109 | rmltdep: | |
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 |
115 | depend: rmdep .dep |
116 | ||
117 | rmdep: | |
636b4d91 | 118 | $(Q)rm -f .dep |
82f8efc6 | 119 | |
932b0ba9 | 120 | .dep: $(CFILES) $(HFILES) |
d9320881 | 121 | $(Q)$(MAKEDEP) $(CFILES) > .dep |