1 # title generic make targets
2 # file make/Targets.make
4 .PHONY : all clean config default dist doc doc++ exe help html lib TAGS\
6 # VPATH=$(outdir)/ #ugh?
13 # be careful about deletion.
18 ifneq ($(strip $(depth)),.)
25 $(MAKE) local-distclean
29 $(MAKE) local-maintainerclean
30 $(MAKE) local-distclean
44 Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\
45 Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\
49 help: generic-help local-help
51 all update everything\n\
52 clean remove all genated stuff in $(oudir)\n\
53 config rerun configure\n\
54 deb build Debian package\n\
55 default same as the empty target\n\
56 diff generate patch: $(depth)/$(outdir)/$(distname).diff.gz\n\
62 dist roll tarball: $(depth)/$(outdir)/$(distname).tar.gz\n\
63 distclean cleaner than clean (duh)\n\
64 doc update all documentation\n\
65 doc++ make doc++ documentation\n\
66 exe update all executables\n\
68 install install programs and data (prefix=$(prefix))\n\
69 lib update all libraries\n\
70 release roll tarball and generate patch\n\
71 rpm build RedHat package\n\
72 po make new po database\n\
73 po-update update po database\n\
75 TAGS genarate tagfiles\n\
76 zip build binary doze distribution\n\
78 Make may be invoked from any subdirectory\n\
79 Note that all commands recurse into SUBSDIRS\n\
87 true # $(MAKE) -C $(depth)/Documentation all
92 (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz)
96 local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES)
97 # echo topdir=$(topdir)
98 # echo distdir=$(distdir)
99 # echo locladir=$(localdir)
100 mkdir -p $(distdir)/$(localdir)
101 $(LN) $(DIST_FILES) $(distdir)/$(localdir)
103 #UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion)
105 case "$(NON_ESSENTIAL_DIST_FILES)x" in x) ;; *) \
106 $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir);; \
109 case "$(OUT_DIST_FILES)x" in x) ;; *) \
110 mkdir $(distdir)/$(localdir)/out; \
111 $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out;; \
113 # $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true
114 # absolute for installed stepmake
115 $(foreach i, $(SUBDIRS), $(MAKE) topdir=$(topdir) distdir=$(distdir) localdir=$(localdir)/$(notdir $(i)) -C $(i) local-dist &&) true
122 -if [ "$(TAGS_FILES)" != "" ]; then \
123 etags -CT $(TAGS_FILES) || \
124 ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \
130 $(outdir)/VERSION: $(depth)/VERSION
133 $(outdir)/version.hh: $(outdir)/VERSION
134 sh $(step-bindir)/make-version.sh $< > $@
136 # should this be in Rules?
137 configure: configure.in aclocal.m4
145 local-maintainerclean:
148 $(MAKE) INSTALL="$(INSTALL) -s" install
150 install: localinstall
155 uninstall: localuninstall
161 -$(INSTALL) -d $(prefix)/doc/$(package)
162 $(foreach i, $(EXTRA_DOC_FILES),\
163 cp -r $(i) $(prefix)/doc/$(package) &&) true
170 include $(stepdir)/package.make
172 include $(outdir)/dummy.dep $(DEP_FILES)
176 touch $(outdir)/dummy.dep
185 $(depth)/$(configuration).make: $(depth)/configure
186 @echo "**************************************"
187 @echo "configure changed! You should probably reconfigure manually."
188 @echo "**************************************"
189 (cd $(depth); ./config.status)
190 touch $@ # do something for multiple simultaneous configs.