]> git.donarmstrong.com Git - lilypond.git/blob - stepmake/stepmake/generic-targets.make
0e08464814e67296a404e959809661b67127f98a
[lilypond.git] / stepmake / stepmake / generic-targets.make
1 # title    generic make targets
2 # file     make/Targets.make
3
4 .PHONY : all clean config default dist doc doc++  exe help html lib TAGS\
5          po
6
7 all:     default
8         $(LOOP)
9
10 man:
11         $(LOOP)
12
13 # be careful about deletion.
14 clean: localclean
15         -rm -f $(outdir)/*
16         $(LOOP)
17
18 ifneq ($(strip $(depth)),.)
19 dist:
20         make -C $(depth) dist
21 endif
22
23 distclean: clean 
24         $(LOOP)
25         $(MAKE) local-distclean
26
27 maintainerclean: 
28         $(LOOP)
29         $(MAKE) local-maintainerclean
30         $(MAKE) local-distclean
31
32
33 # configure:
34 #
35 config:
36         ./$(depth)/configure
37 #
38
39
40 # target help:
41 #
42 generic-help:
43         @echo -e "\
44 Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\
45 Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\
46 \n\
47 Targets:\n"
48
49 help: generic-help local-help
50         @echo -e "\
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\
57   .           Options:\n\
58   .             from=0.1.74\n\
59   .             help==\n\
60   .             release==\n\
61   .             to=0.1.74.jcn2\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\
67   help        this help\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 translation Portable Object database\n\
73   po-update   update translation Portable Object database\n\
74   tar         same as dist\n\
75   TAGS        genarate tagfiles\n\
76   zip         build binary doze distribution\n\
77 \n\
78 Make may be invoked from any subdirectory\n\
79 Note that all commands recurse into SUBSDIRS\n\
80 "\
81 #
82
83 local-help:
84
85 doc: local-doc
86         $(LOOP)
87
88 local-doc:
89
90 # Ugh.  C++ specific.
91 doc++:
92         (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz)
93
94
95 local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES)
96         mkdir -p $(distdir)/$(localdir)
97         $(LN) $(DIST_FILES) $(distdir)/$(localdir)
98
99         case "$(NON_ESSENTIAL_DIST_FILES)x" in x) ;; *) \
100                 $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir);; \
101         esac
102
103         case "$(OUT_DIST_FILES)x" in x) ;; *) \
104                 mkdir $(distdir)/$(localdir)/out; \
105                 $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out;; \
106         esac
107 #       $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true
108 # absolute for installed stepmake
109         $(foreach i, $(SUBDIRS), $(MAKE) topdir=$(topdir) distdir=$(distdir) localdir=$(localdir)/$(notdir $(i)) -C $(i) local-dist &&) true
110
111
112
113 html: $(HTML_FILES)
114
115 TAGS:
116         -if [ "$(TAGS_FILES)" != "" ]; then \
117                 etags -CT $(TAGS_FILES) || \
118                 ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \
119         fi
120
121         $(LOOP)
122
123 # ugh . -> $(outdir)
124 $(outdir)/VERSION: $(depth)/VERSION
125         cp -p $< $@
126
127 $(outdir)/version.hh: $(outdir)/VERSION
128         $(PYTHON) $(step-bindir)/make-version.py $< > $@
129
130 $(outdir)/config.h: $(config_h)
131         cp -p $< $@
132
133 # should this be in Rules?
134 configure: configure.in aclocal.m4
135         autoconf 
136         chmod +x configure
137
138 localclean:
139
140 local-distclean:
141
142 local-maintainerclean:
143
144 install-strip:
145         $(MAKE) INSTALL="$(INSTALL) -s" install
146
147 install: localinstall
148         $(LOOP)
149
150 localinstall:
151
152 uninstall: localuninstall
153         $(LOOP)
154
155 localuninstall:
156
157 installextradoc:
158         -$(INSTALL) -d $(prefix)/doc/$(package)
159         $(foreach i, $(EXTRA_DOC_FILES),\
160                 cp -r $(i) $(prefix)/doc/$(package) &&) true
161
162 WWW: local-WWW
163         $(LOOP)
164
165 local-WWW:
166
167 include $(stepdir)/package.make
168
169 include $(outdir)/dummy.dep $(DEP_FILES)
170
171 $(outdir)/dummy.dep:
172         -mkdir -p $(outdir)
173         touch $(outdir)/dummy.dep
174
175
176 check: local-check
177         $(LOOP)
178
179 local-check:
180
181 # ugh.  ugh ugh ugh
182 $(depth)/$(configuration).make: $(depth)/configure
183         @echo "**************************************"
184         @echo "configure changed! You should probably reconfigure manually."
185         @echo "**************************************"
186         (cd $(depth); ./config.status)
187         touch $@                # do something for multiple simultaneous configs.