File: buildrules

package info (click to toggle)
xfsprogs 3.2.1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 7,276 kB
  • ctags: 9,584
  • sloc: ansic: 96,643; sh: 10,603; makefile: 806
file content (108 lines) | stat: -rw-r--r-- 2,544 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#
# Copyright (c) 1999, 2001-2003 Silicon Graphics, Inc.  All Rights Reserved.
#
ifndef _BUILDRULES_INCLUDED_
_BUILDRULES_INCLUDED_ = 1

include $(TOPDIR)/include/builddefs

clean clobber : $(addsuffix -clean,$(SUBDIRS))
	@rm -f $(DIRT) .ltdep .dep
	@rm -fr $(DIRDIRT)
%-clean:
	@echo "Cleaning $*"
	$(Q)$(MAKE) $(MAKEOPTS) -C $* clean

# Never blow away subdirs
ifdef SUBDIRS
.PRECIOUS: $(SUBDIRS)
.PHONY: $(SUBDIRS)

$(SUBDIRS):
	@echo "Building $@"
	$(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@
endif

#
# Standard targets
#

ifdef LTCOMMAND
$(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES)
	@echo "    [LD]     $@"
	$(Q)$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
endif

ifdef LTLIBRARY
$(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS)
	@echo "    [LD]     $@"
	$(Q)$(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)

%.lo: %.c
	@echo "    [CC]     $@"
	$(Q)$(LTCOMPILE) -c $<
else
%.o: %.c
	@echo "    [CC]     $@"
	$(Q)$(CC) $(CFLAGS) -c $<

endif

ifdef POTHEAD
$(POTHEAD): $(XGETTEXTFILES)
	@echo "    [GETTXT] $@"
	$(Q)$(XGETTEXT) --language=C --keyword=_ --keyword=N_ -o $@ $(XGETTEXTFILES)

# Update translations
update-po: $(POTHEAD) $(wildcard $(TOPDIR)/po/*.po)
	catalogs="$(wildcard $(TOPDIR)/po/*.po)"; \
	for cat in $$catalogs; do \
	  lang=`basename $$cat .po`; \
	  mv $$lang.po $$lang.old.po; \
	  echo "$$lang:"; \
	  if $(MSGMERGE) $$lang.old.po $(POTHEAD) -o $$lang.po; then \
	    rm -f $$lang.old.po; \
	  else \
	    echo "msgmerge for $$lang failed!"; \
	    rm -f $$lang.po; \
	    mv $$lang.old.po $$lang.po; \
	  fi; \
	done

%.mo: %.po
	@echo "    [MSGFMT] $@"
	$(Q)$(MSGFMT) -c --statistics -o $@ $<
endif

endif # _BUILDRULES_INCLUDED_

$(_FORCE):

# dependency build is automatic, relies on gcc -MM to generate.
#
# This is a bit messy. It regenerates the dependencies on each build so
# that we catch files being added and removed. There are other ways of doing
# this (e.g. per-file dependency files) but that requires more in-depth changes
# to the build system. Compile time is not an issue for us, so the
# rebuild on every make invocation isn't a problem we need to care about. Just
# do it silently so it doesn't make the build unnecessarily noisy.

.PHONY : depend ltdepend install-qa

MAKEDEP := $(MAKEDEPEND) $(CFLAGS)

ltdepend: rmltdep .ltdep

rmltdep:
	@rm -f .ltdep

.ltdep: $(CFILES) $(HFILES)
	$(Q)$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .ltdep

depend: rmdep .dep

rmdep:
	@rm -f .dep

.dep: $(CFILES) $(HFILES)
	$(Q)$(MAKEDEP) $(CFILES) > .dep