1 # title generic make targets
2 # file make/Targets.make
4 .PHONY : all clean config default dist doc doc++ exe help html lib TAGS\
13 # be careful about deletion.
20 $(MAKE) local-distclean
24 $(MAKE) local-maintainerclean
25 $(MAKE) local-distclean
28 if test -r $(po-dir); then \
29 rm -f $(po-dir)/$(outdir)/$(package).po; \
30 touch $(po-dir)/$(outdir)/$(package).po; \
33 ifeq ($(strip $(depth)),.)
41 ALL_PO_SOURCES = $(ALL_C_SOURCES) $(wildcard $(outdir)/*.hh) $(wildcard $(outdir)/*.cc)
43 ifneq ($(strip $(ALL_PO_SOURCES)),)
44 @echo $(ALL_PO_SOURCES)
45 xgettext --c++ --default-domain=$(package) --join \
46 --output-dir=$(po-dir)/$(outdir) --add-comments \
47 --keyword=_ --keyword=_f $(ALL_PO_SOURCES)
52 $(MAKE) -C $(po-dir) po-update
55 $(MAKE) -C $(po-dir) show-po-changes
68 Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\
69 Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\
73 help: generic-help local-help
75 all update everything\n\
76 clean remove all genated stuff in $(oudir)\n\
77 config rerun configure\n\
78 deb build Debian package\n\
79 default same as the empty target\n\
80 diff generate patch: $(package)-$(TOPLEVEL_VERSION).diff.gz\n\
86 distclean cleaner than clean (duh)\n\
87 doc update all documentation\n\
88 doc++ make doc++ documentation\n\
89 exe update all executables\n\
91 install install programs and data (prefix=$(prefix))\n\
92 lib update all libraries\n\
93 release roll tarball and generate patch\n\
94 rpm build RedHat package\n\
96 TAGS genarate tagfiles\n\
97 zip build binary doze distribution\n\
99 Make may be invoked from any subdirectory\n\
100 Note that all commands recurse into SUBSDIRS\n\
107 # $(MAKE) -C $(depth)/Documentation do-doc
108 $(MAKE) -C $(depth)/Documentation all
113 (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz)
118 if [ "`tail -1 $(state-vector)`" != "$(TOPLEVEL_VERSION)" ]; then\
119 echo $(TOPLEVEL_VERSION) >> $(state-vector); \
123 localdist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES)
124 $(LN) $(DIST_FILES) $(distdir)/$(localdir)
126 #UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion)
128 if [ "$(NON_ESSENTIAL_DIST_FILES)x" != "x" ] ; then \
129 $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir); \
131 if [ "$(OUT_DIST_FILES)x" != "x" ] ; then \
132 mkdir $(distdir)/$(localdir)/out; \
133 $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out; \
135 $(foreach i, $(SUBDIRS), mkdir $(distdir)/$(localdir)/$(i); \
136 $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) localdist &&) true
143 -if [ "$(TAGS_FILES)" != "" ]; then \
144 etags -CT $(TAGS_FILES) || \
145 ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \
150 $(outdir)/version.hh: VERSION
151 sh ./$(step-bindir)/make-version.sh > $@
154 # should this be in Rules?
155 configure: configure.in aclocal.m4
163 local-maintainerclean:
166 $(MAKE) INSTALL="$(INSTALL) -s" install
168 install: localinstall
173 uninstall: localuninstall
179 $(INSTALL) -d $(prefix)/doc/$(package)
180 $(foreach i, $(EXTRA_DOC_FILES),\
181 cp -r $(i) $(prefix)/doc/$(package) &&) true
186 include $(stepdir)/Package.make
187 include $(make-dir)/Targets.make
189 include $(outdir)/dummy.dep $(DEP_FILES)
193 touch $(outdir)/dummy.dep