# Jan Nieuwenhuizen <jan@digicash.com>
# Han-Wen Nienhuys <hanwen@stack.nl>
-.PHONY : all clean config default dist doc doc++ dummy exe help lib TAGS html\
- check-flower-deps check-lib-deps check-doc-deps
+.PHONY : all clean config default dist doc doc++ dummy exe help html lib TAGS\
+ check-flower-deps check-lib-deps check-doc-deps check-html-deps
# target all:
#
all: default
-ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i all; done
-endif
-
-#
-
-# platform specific variables,
-#
-#include ./$(depth)/make/out/Site.make
-#
-
-# where to do this ?
-.PRECIOUS: $(makeout)/Site.make
-
+ $(LOOP)
# dependency list of executable:
#
-$(EXECUTABLE): $(OFILES) $(outdir)/version.hh
- $(MAKE) $(MODULE_LIBDEPS)
+$(EXECUTABLE): $(configheader) $(OFILES) $(outdir)/version.hh
+ifdef MODULE_LIBDEPS
+ $(MAKE) $(MODULE_LIBDEPS)
+endif
ifdef STABLEOBS
$(DO_STRIP) $(STABLEOBS)
endif
# dependency list of library:
#
-$(LIBRARY): $(OFILES)
+$(LIBRARY): $(configheader) $(OFILES)
$(AR_COMMAND) $(OFILES)
+ $(AR) ts $@ #silly irix
$(RANLIB_COMMAND)
-$(SHAREDLIBRARY): $(OFILES) $(MODULE_LIBDEPS)
+$(SHAREDLIBRARY): $(configheader) $(OFILES) $(MODULE_LIBDEPS)
$(LD_COMMAND) $(OFILES) -o $@.$(VERSION)
rm -f $@
ln -sf $(outdir)/$(LIB_PREFIX)$(NAME).so.$(VERSION) $@.$(MAJOR_VERSION)
lib: $(LIBRARY)
#
+outdirs: outdir
+ $(LOOP)
-make-all-outdirs: make-outdir
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i make-all-outdirs; done
-
-make-outdir:
- -mkdir $(OUTDIR_NAME)
+outdir:
+ -mkdir -p $(outdir)
# be careful about deletion.
clean: localclean
- rm -f $(outdir)/*
+ -rm -f $(outdir)/*
touch $(outdir)/dummy.dep
-ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
-endif
+ $(LOOP)
+
+distclean: clean
+ $(LOOP)
+ $(MAKE) local-distclean
+
+maintainerclean:
+ $(LOOP)
+ $(MAKE) local-maintainerclean
+ $(MAKE) local-distclean
-distclean: subdir-distclean local-distclean
-subdir-distclean:
-ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
-endif
# configure:
#
#
doc:
- $(MAKE) -C $(depth)/Documentation do-doc
+# $(MAKE) -C $(depth)/Documentation do-doc
+ $(MAKE) -C $(depth)/Documentation all
+html: $(HTMLFILES)
# ugh. should generate in out/
dist:
# ugh. should generate in out/
dozedist: doosdist
-doosdist:
+doosdist: check-mf-deps
+ rm -rf $(distdir)
-mkdir $(distdir)
-# nogo, SUBDIRS is handed down to subdir...
-# $(MAKE) SUBDIRS="Documentation init input tex" localdist
$(MAKE) localdist
chmod -Rf a+rX $(distdir)
# ugh, the ugly way, then
+ rm -f $(distdir)/mf/$(outdir)/*.log
+ # urg
+ (cd $(distdir)/init; ln -s ../../../mf/out/*.ly .)
+ (cd $(distdir)/tex; ln -s ../../../mf/out/*.tex .)
(cd $(distdir); rm -rf $(NO_DOOS_DIST))
- cp $(lilyout)/lilypond.exe $(distdir)
- strip -s $(distdir)/lilypond.exe
- cp $(mi2muout)/mi2mu.exe $(distdir)
- strip -s $(distdir)/mi2mu.exe
- (cd ./$(depth); $(ZIP) $(DIST_NAME).exe.zip $(distdir))
+ ln $(lilyout)/lilypond $(distdir)/bin/lilypond.exe
+ -strip -s $(distdir)/bin/lilypond.exe
+ ln $(mi2muout)/mi2mu $(distdir)/bin/mi2mu.exe
+ -strip -s $(distdir)/bin/mi2mu.exe
+ (cd ./$(depth)/$(outdir); $(ZIP) $(DIST_NAME).exe.zip $(DIST_NAME))
# should be trapped
rm -rf $(distdir)/
-localdist: $(DISTFILES)
- if [ -d out ]; then \
- mkdir $(distdir)/$(localdir)/out; \
- touch $(distdir)/$(localdir)/out/dummy.dep; \
- fi
+localdist: $(DISTFILES) $(OUT_DISTFILES)
+ touch $(outdir)/dummy.dep; \
+ mkdir $(distdir)/$(localdir)/out; \
$(LN) $(DISTFILES) $(distdir)/$(localdir)
+ $(LN) $(outdir)/dummy.dep $(OUT_DISTFILES) $(distdir)/$(localdir)/out
ifdef SUBDIRS
set -e; for i in $(SUBDIRS); do mkdir $(distdir)/$(localdir)/$$i; \
$(MAKE) localdir=$(localdir)/$$i -C $$i localdist; done
TAGS:$(all-tag-sources)
ifdef all-tag-sources
-etags -CT $(all-tag-sources) $(ERROR_LOG)
- -ctags -CT $(all-tag-sources) $(ERROR_LOG)
-endif
-ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i TAGS ; done
+ -ctags -h ".h.hh.tcc.icc" $(all-tag-sources) $(ERROR_LOG)
endif
+ $(LOOP)
# version stuff:
local-distclean:
+local-maintainerclean:
+
install-strip:
$(MAKE) INSTALL="$(INSTALL) -s" install
install: localinstall
-ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i install; done
-endif
+ $(LOOP)
localinstall:
uninstall: localuninstall
-ifdef SUBDIRS
- set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i uninstall; done
-endif
+ $(LOOP)
localuninstall:
check-doc-deps:
$(MAKE) -C $(depth)/Documentation
+check-html-deps:
+ $(MAKE) -C $(depth)/Documentation html
+
$(LIBLILY): dummy
$(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib
check-mf-deps:
$(MAKE) -C $(depth)/mf
+$(configheader): $(depth)/$(configuration).hh
+ cp $< $@
-
+WWW: local-WWW
+ $(LOOP)
ifneq ($(DEPFILES),)
include $(DEPFILES)