]>
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)) |
35714853 DC |
10 | @rm -f $(DIRT) |
11 | @rm -fr $(DIRDIRT) | |
2a519b73 | 12 | %-clean: |
35714853 DC |
13 | @echo "Cleaning $*" |
14 | $(Q)$(MAKE) $(MAKEOPTS) -C $* clean | |
2bd0ea18 NS |
15 | |
16 | # Never blow away subdirs | |
17 | ifdef SUBDIRS | |
18 | .PRECIOUS: $(SUBDIRS) | |
2a519b73 BN |
19 | .PHONY: $(SUBDIRS) |
20 | ||
2bd0ea18 | 21 | $(SUBDIRS): |
35714853 DC |
22 | @echo "Building $@" |
23 | $(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@ | |
2bd0ea18 NS |
24 | endif |
25 | ||
42e5b5df NS |
26 | source-link: |
27 | @test -z "$$DIR" && DIR="."; \ | |
10a41599 | 28 | for f in `echo $(SRCFILES) $(SUBDIRS) $(POTHEAD)`; do \ |
42e5b5df | 29 | if test -d $$f ; then \ |
10a41599 | 30 | mkdir $(TOPDIR)/$(PKG_NAME)-$(PKG_VERSION)/$$DIR/$$f || exit $$?; \ |
42e5b5df NS |
31 | $(MAKEF) DIR=$$DIR/$$f -C $$f $@ || exit $$?; \ |
32 | else \ | |
10a41599 | 33 | ln $$f $(TOPDIR)/$(PKG_NAME)-$(PKG_VERSION)/$$DIR/$$f || exit $$?; \ |
42e5b5df NS |
34 | fi; \ |
35 | done | |
36 | ||
f937adac NS |
37 | # |
38 | # Standard targets | |
39 | # | |
40 | ||
41 | ifdef LTCOMMAND | |
42 | $(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES) | |
35714853 DC |
43 | @echo " [LD] $@" |
44 | $(Q)$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS) | |
f937adac NS |
45 | endif |
46 | ||
47 | ifdef LTLIBRARY | |
48 | $(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS) | |
35714853 DC |
49 | @echo " [LD] $@" |
50 | $(Q)$(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS) | |
f937adac NS |
51 | |
52 | %.lo: %.c | |
35714853 DC |
53 | @echo " [CC] $@" |
54 | $(Q)$(LTCOMPILE) -c $< | |
55 | else | |
56 | %.o: %.c | |
57 | @echo " [CC] $@" | |
58 | $(Q)$(CC) $(CFLAGS) -c $< | |
59 | ||
f937adac NS |
60 | endif |
61 | ||
1b758ea9 | 62 | ifdef POTHEAD |
a1f9bd42 | 63 | $(POTHEAD): $(XGETTEXTFILES) |
35714853 DC |
64 | @echo " [GETTXT] $@" |
65 | $(Q)$(XGETTEXT) --language=C --keyword=_ --keyword=N_ -o $@ $(XGETTEXTFILES) | |
9440d84d | 66 | |
8c053393 AM |
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 | |
9440d84d | 82 | |
638473d8 | 83 | %.mo: %.po |
35714853 DC |
84 | @echo " [MSGFMT] $@" |
85 | $(Q)$(MSGFMT) -c --statistics -o $@ $< | |
9440d84d NS |
86 | endif |
87 | ||
f937adac | 88 | endif # _BUILDRULES_INCLUDED_ |
2bd0ea18 NS |
89 | |
90 | $(_FORCE): | |
91 | ||
5e656dbb | 92 | .PHONY : depend install-qa |
2bd0ea18 | 93 | |
82f8efc6 TS |
94 | DEPENDSCRIPT := $(MAKEDEPEND) $(DEPENDFLAGS) -f - -- $(CFLAGS) -- $(CFILES) | \ |
95 | $(SED) \ | |
96 | -e 's,`pwd`,$(TOPDIR),g' \ | |
4df72956 NS |
97 | -e 's, */[^ ]*,,g' \ |
98 | -e '/^[^ ]*: *$$/d' \ | |
82f8efc6 TS |
99 | -e '/^ *$$/d' |
100 | ||
101 | ifdef LTLIBRARY | |
102 | DEPENDSCRIPT := $(DEPENDSCRIPT) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' | |
103 | endif | |
104 | ||
2a519b73 | 105 | depend : $(CFILES) $(HFILES) $(addsuffix -depend,$(SUBDIRS)) |
82f8efc6 | 106 | $(DEPENDSCRIPT) > .dep |
4df72956 | 107 | test -s .dep || rm -f .dep |
2bd0ea18 | 108 | |
2a519b73 BN |
109 | %-depend: |
110 | $(MAKE) -C $* depend | |
111 | ||
2bd0ea18 | 112 | # Include dep, but only if it exists |
4df72956 NS |
113 | ifeq ($(shell test -f .dep && echo .dep), .dep) |
114 | include .dep | |
d931d17e | 115 | else |
82f8efc6 TS |
116 | ifdef LTLIBRARY |
117 | $(LTOBJECTS): $(HFILES) | |
118 | else | |
d931d17e | 119 | $(OBJECTS): $(HFILES) |
2bd0ea18 | 120 | endif |
82f8efc6 | 121 | endif |