2 # project LilyPond -- the musical typesetter
3 # title generic make targets
4 # file make/Targets.make
6 # Copyright (c) 1997 by
7 # Jan Nieuwenhuizen <jan@digicash.com>
8 # Han-Wen Nienhuys <hanwen@stack.nl>
10 .PHONY : all clean config default dist doc doc++ dummy exe help lib TAGS
16 set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i all; done
21 # platform specific variables,
23 include ./$(depth)/make/out/Site.make
27 .PRECIOUS: $(makeout)/Site.make
29 # dependency list of executable:
31 EXECUTABLE = $(lily_bindir)/$(NAME)
32 $(EXECUTABLE): $(build) $(OFILES) $(CUSTOMLIBES)
34 $(MAKE) -S $(OFILES) $(SILENT_LOG)
35 # $(STRIPDEBUG) $(STABLEOBS)
36 $(LD_COMMAND) $(OFILES) $(LOADLIBES)
41 $(build): $(depth)/.version
44 # dependency list of library:
46 LIBRARY = $(libdir)/$(LIB_PREFIX)$(NAME)$(LIB_SUFFIX)
47 $(LIBRARY): $(build) $(OFILES) $(CUSTOMLIBES)
49 $(MAKE) $(OFILES) $(SILENT_LOG)
50 $(AR_COMMAND) $(OFILES)
59 rm -f $(allobs) $(alldeps)
61 set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
65 rm -rf Makefile $(lily-version) $(flower-version) $(mi2mu-version) .b $(build) *~ $(allout) $(allgen)
76 dummydep: $(DUMMYDEPS)
79 # value of $(OSTYPE) on windhoos; "make $OSTYPE" if you use bash :-)
89 $(MAKE) -C . CXX="gcc-go32 -I/usr/i386-go32/include -I/usr/i386-go32/include/g++ -D_WIN32 -Dcaddr_t=char* -DMAP_SHARED=0"
96 @echo " $(MAKE) ["VARIABLE=value" ...] [target]"
99 @echo " all clean config dist distclean doc doc++"
100 @echo " exe help lib moduledist TAGS"
101 @echo " dos: xcomplile to dos"
102 @echo " win32: native cygnus-win32 compile"
106 $(MAKE) -C $(depth)/Documentation do-doc
108 # doc++ documentation of classes
110 doc++ -kp -d $(DOCDIR) $^
115 chmod -Rf a+rX $(distdir)
117 (cd ./$(depth); tar cfz $(DIST_NAME).tar.gz $(DIST_NAME))
118 rm -rf $(distdir)/ # should be trapped
120 localdist: $(DISTFILES)
121 if [ -d out ]; then mkdir $(distdir)/$(localdir)/out; fi
122 ln $(DISTFILES) $(distdir)/$(localdir)
124 set -e; for i in $(SUBDIRS); do mkdir $(distdir)/$(localdir)/$$i; \
125 $(MAKE) localdir=$(localdir)/$$i -C $$i localdist; done
129 -mkdir $(module-distdir)
130 $(MAKE) localmoduledist
131 (cd ./$(depth); tar cfz $(MODULE_DIST_NAME).tar.gz $(MODULE_DIST_NAME))
132 rm -rf $(module-distdir)/ # should be trapped
135 ln $(DISTFILES) $(module-distdir)/$(localdir)
137 set -e; for i in $(SUBDIRS); do mkdir $(module-distdir)/$(localdir)/$$i; done
138 set -e; for i in $(SUBDIRS); do $(MAKE) localdir=$(localdir)/$$i -C $$i localmoduledist; done
141 TAGS:$(all-tag-sources)
142 ifdef all-tag-sources
143 -etags -CT $(all-tag-sources) /dev/null
146 set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i TAGS ; done
153 $(outdir)/version.hh: .version
154 ./$(lily_bindir)/make_version > $@
157 # should this be in Rules?
158 configure: configure.in
165 install: localinstall
167 set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i install; done
172 uninstall: localuninstall
174 set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i uninstall; done
181 $(LIBFLOWER): check-flower-deps
184 $(MAKE) -C $(depth)/flower/ $(outdir)/$(notdir $(LIBFLOWER))
186 check-lily-deps: check-flower-deps
187 $(MAKE) -C $(depth)/lib
190 $(MAKE) -C $(depth)/Documentation
193 $(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib