# Jan Nieuwenhuizen <jan@digicash.com>
# Han-Wen Nienhuys <hanwen@stack.nl>
-.PHONY : all clean config default dist doc doc++ dummy exe help lib TAGS
+.PHONY : all clean config default dist doc doc++ dummy exe help lib TAGS html
# target all:
#
# dependency list of executable:
#
EXECUTABLE = $(lily_bindir)/$(NAME)
-$(EXECUTABLE): $(build) $(OFILES) $(CUSTOMLIBES)
+$(EXECUTABLE): $(build) $(OFILES) $(MODULE_LIBDEPS)
$(INCREASE_BUILD)
- $(MAKE) $(OFILES) $(SILENT_LOG)
-# $(STRIPDEBUG) $(STABLEOBS)
+ $(MAKE) -S $(OFILES) $(SILENT_LOG)
+ifdef STABLEOBS
+ $(DO_STRIP) $(STABLEOBS)
+endif
$(LD_COMMAND) $(OFILES) $(LOADLIBES)
exe: $(EXECUTABLE)
#
-$(build):
+$(build): $(depth)/.version
echo 0 > $@
# dependency list of library:
#
-LIBRARY = $(libdir)/$(LIB_PREFIX)$(NAME)$(LIB_SUFFIX)
-$(LIBRARY): $(build) $(OFILES) $(CUSTOMLIBES)
+LIBRARY = $(outdir)/$(LIB_PREFIX)$(NAME).a
+$(LIBRARY): $(build) $(OFILES) $(MODULE_LIBDEPS)
$(INCREASE_BUILD)
$(MAKE) $(OFILES) $(SILENT_LOG)
$(AR_COMMAND) $(OFILES)
$(RANLIB_COMMAND)
-
+SHAREDLIBRARY=$(outdir)/$(LIB_PREFIX)$(NAME).so
+$(SHAREDLIBRARY): $(build) $(OFILES) $(MODULE_LIBDEPS)
+ $(INCREASE_BUILD)
+ $(MAKE) $(OFILES) $(SILENT_LOG)
+ $(LD_COMMAND) $(OFILES) -o $@
+# ln -sf $(outdir)/$(LIB_PREFIX)$(NAME).so.$(VERSION) $(outdir)/$(LIB_PREFIX)$(NAME).so
#
lib: $(LIBRARY)
#
set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
endif
-distclean: clean
- rm -rf $(lily-version) $(flower-version) $(mi2mu-version) .b $(build) *~ $(allout) $(allgen)
+distclean: localdistclean
+ifdef SUBDIRS
+ set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i localdistclean; done
+endif
+
+localdistclean:
# configure:
# doc++ documentation of classes
doc++: $(progdocs)
- doc++ -kp -d $(DOCDIR) $^
+ doc++ -k -p -d $(DOCDIR) $^
dist:
-mkdir $(distdir)
$(MAKE) localdist
+ chmod -Rf a+rX $(distdir)
+
(cd ./$(depth); tar cfz $(DIST_NAME).tar.gz $(DIST_NAME))
rm -rf $(distdir)/ # should be trapped
if [ -d out ]; then mkdir $(distdir)/$(localdir)/out; fi
ln $(DISTFILES) $(distdir)/$(localdir)
ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do mkdir $(distdir)/$(localdir)/$$i; done
- set -e; for i in $(SUBDIRS); do $(MAKE) localdir=$(localdir)/$$i -C $$i localdist; done
+ set -e; for i in $(SUBDIRS); do mkdir $(distdir)/$(localdir)/$$i; \
+ $(MAKE) localdir=$(localdir)/$$i -C $$i localdist; done
endif
moduledist:
set -e; for i in $(SUBDIRS); do $(MAKE) localdir=$(localdir)/$$i -C $$i localmoduledist; done
endif
-all-tags: TAGS
+TAGS:$(all-tag-sources)
+ifdef all-tag-sources
+ -etags -CT $(all-tag-sources) /dev/null
+endif
ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i all-tags; done
+ set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i TAGS ; done
endif
-TAGS: $(allcc)
- etags -CT $(allcc)
-
# version stuff:
#
-out/version.hh: .version
+$(outdir)/version.hh: .version
./$(lily_bindir)/make_version > $@
endif
localuninstall:
+
+# specific stuff:
+#
+$(LIBFLOWER): check-flower-deps
+
+check-flower-deps:
+ $(MAKE) -C $(depth)/flower/ default
+
+check-lily-deps: check-flower-deps
+ $(MAKE) -C $(depth)/lib
+
+check-doc-deps:
+ $(MAKE) -C $(depth)/Documentation
+
+$(LIBLILY): dummy
+ $(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib
+#
+
+# RedHat rpm package:
+#
+#rpm: dist
+# mv ./$(depth)/lilypond-$(TOPLEVEL_VERSION).tar.gz $(rpm-sources)
+rpm:
+ make -C ./$(depth) dist
+ cp $(depth)/lilypond-$(TOPLEVEL_VERSION).tar.gz $(rpm-sources)
+ cp $(doc-dir)/*.gif $(rpm-sources)
+ $(MAKE) -C $(make-dir) spec
+ rpm -ba $(makeout)/lilypond.spec
+#
+