X-Git-Url: https://git.donarmstrong.com/?p=lilypond.git;a=blobdiff_plain;f=GNUmakefile.in;h=76f4515be93f6034c4fd0966788a8ff512afb9b3;hp=bd2d0ce5a37156b2e4dfef095a64d15f9683ece1;hb=a6a51abfd0195a3cf7d6ea095cf69808852f21ce;hpb=67e5286be2fdc1cd6d90dfc233663c284ced8ca8 diff --git a/GNUmakefile.in b/GNUmakefile.in index bd2d0ce5a3..76f4515be9 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -6,10 +6,10 @@ SUBDIRS = python scripts \ flower lily \ mf ly \ tex ps scm \ - po make \ + po \ elisp vim \ input \ - stepmake $(documentation-dir) + $(documentation-dir) ## this convoluted construction is necessary, since we don't know the @@ -17,7 +17,7 @@ SUBDIRS = python scripts \ documentation-dir=$(if $(findstring no,$(DOCUMENTATION)),,Documentation) SCRIPTS = configure autogen.sh smart-autogen.sh smart-configure.sh -README_FILES = COPYING COPYING.FDL DEDICATION ROADMAP THANKS HACKING \ +README_FILES = COPYING COPYING.FDL DEDICATION ROADMAP HACKING \ LICENSE LICENSE.DOCUMENTATION TOPDOC_FILES = AUTHORS INSTALL README NEWS TOPDOC_TXT_FILES = $(addprefix $(top-build-dir)/Documentation/topdocs/$(outdir)/,$(addsuffix .txt,$(TOPDOC_FILES))) @@ -26,11 +26,9 @@ IN_FILES := $(call src-wildcard,*.in) RELEASE_FILES = ChangeLog RELEASE-COMMIT RELEASE_OUT_FILES = $(RELEASE_FILES:%=$(outdir)/%) OUT_DIST_FILES += $(RELEASE_OUT_FILES) -EXTRA_DIST_FILES = VERSION .gitignore .mailmap \ - $(README_FILES) $(SCRIPTS) $(IN_FILES) INSTALLATION_DIR=$(local_lilypond_datadir) INSTALLATION_FILES=$(config_make) VERSION - +GENERATED_BUILD_FILES=configure aclocal.m4 autogen.sh # bootstrap stepmake: # STEPMAKE_TEMPLATES=toplevel po install @@ -40,7 +38,36 @@ include $(depth)/make/stepmake.make .PHONY: test info website -local-dist: refresh-release-files dist-toplevel-txt-files +dist: local-dist $(GENERATED_BUILD_FILES) top-doc refresh-release-files .gitfilelist + @cd $(top-src-dir) && \ + if test -n "`find . -name .git`" -a '(' -n "`git diff HEAD | head -1`" \ + -o -n "`git status | grep -i untracked`" ')'; \ + then echo "*** dist must been rolled on a clean git tree;"; \ + echo "uncommitted changes or untracked files detected, aborting."; \ + exit 1; fi + rm -rf $(distdir) + $(MAKE) local-dist $(distdir) + chmod -R a+r $(distdir) + chmod a+x `find $(distdir) -type d -print` + $(LN) $(TOPDOC_TXT_FILES) $(distdir) + $(LN) $(GENERATED_BUILD_FILES:%=$(src-dir)/%) .gitfilelist $(distdir) + cd $(top-src-dir) && xargs $(buildscript-dir)/mass-link hard . $(distdir) <$(top-build-dir)/.gitfilelist + if test -n "`find $(top-src-dir) -name .git`"; then \ + COMMIT_DATE=`git --git-dir=$(top-src-dir)/.git log -1 --format=%cD`; \ + find $(distdir) | xargs touch -d "$$COMMIT_DATE"; fi + (cd ./$(depth)/$(outdir); $(TAR) -cf - --owner=0 --group=0 $(DIST_NAME) | gzip -9 > $(DIST_NAME).tar.gz) + rm -rf $(distdir) + +ifneq ($(shell find $(top-src-dir) -name .git),) +.gitfilelist: $(top-src-dir)/.git/index + cd $(top-src-dir) && git ls-files >$(top-build-dir)/$@ +local-clean-filelist: + rm -f .gitfilelist +else +.gitfilelist: $(src-dir)/.gitfilelist + cp $< $@ +local-clean-filelist: +endif all: $(outdir)/VERSION @@ -60,20 +87,16 @@ refresh-release-files: $(MAKE) $(RELEASE_OUT_FILES) python-modules: + $(MAKE) -C scripts/build $(MAKE) -C python top-doc: python-modules -local-clean: local-clean-ChangeLog +local-clean: local-clean-ChangeLog local-clean-filelist local-clean-ChangeLog: rm -f ChangeLog -dist-toplevel-txt-files: top-doc - -mkdir -p $(distdir) - ln $(TOPDOC_TXT_FILES) $(distdir) - ln $(top-src-dir)/stepmake/aclocal.m4 $(distdir) - info: $(foreach d, $(INFO_DIRECTORIES),$(MAKE) -C $(d) out=www info && ) true @@ -102,7 +125,7 @@ ifeq ($(out),www) # installed in non-recursing target from TOP-SRC-DIR install-WWW: -$(INSTALL) -m 755 -d $(DESTDIR)$(webdir) - rsync -rl --exclude='*.signature' $(outdir)/offline-root $(DESTDIR)$(webdir) + rsync -rl --exclude='*.signature' $(outdir)/offline-root/ $(DESTDIR)$(webdir) $(MAKE) -C Documentation omf-local-install install-info-WWW: @@ -120,10 +143,6 @@ WEB_TARGETS = offline WEB_ROOT_FILES = $(WEB_TARGETS:%=$(outdir)/%-root/index.html) -WEB_EXAMPLE_FILES = $(wildcard input/$(outdir)/*.ly) \ - $(wildcard input/*/$(outdir)/*.ly) \ - $(wildcard input/*/*/$(outdir)/*.ly) - WEB_TRACKED_FILES = $(filter-out $(outdir)/index.html, \ $(shell bash -O nullglob -c "echo $(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}")) \ $(shell bash -O nullglob -c "echo input/$(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") \ @@ -133,15 +152,12 @@ WEB_TRACKED_FILES = $(filter-out $(outdir)/index.html, \ $(shell bash -O nullglob -c "echo Documentation/$(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") \ $(shell bash -O nullglob -c "echo Documentation/$(outdir)/*/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") -WWW-post: $(top-build-dir)/.htaccess $(outdir)/examples.html $(WEB_ROOT_FILES) +WWW-post: $(top-build-dir)/.htaccess $(WEB_ROOT_FILES) # need UTF8 setting in case this is hosted on a website. $(top-build-dir)/.htaccess: echo -e 'AddDefaultCharset utf-8\nAddCharset utf-8 .html\nAddCharset utf-8 .en\nAddCharset utf-8 .nl\nAddCharset utf-8 .txt\n' > $(top-build-dir)/.htaccess -$(outdir)/examples.html: $(WEB_EXAMPLE_FILES) - $(buildscript-dir)/mutopia-index -o $(outdir)/examples.html input/ - $(outdir)/offline-root/index.html: $(WEB_TRACKED_FILES) $(buildscript-dir)/www_post $(PACKAGE_NAME) $(TOPLEVEL_VERSION) $(outdir) offline find $(outdir)/offline-root -type l | xargs rm -f @@ -237,12 +253,20 @@ $(tree-share-prefix)/mf-link-tree: $(tree-share-prefix)/lilypond-force -rm -f $(tree-share-prefix)/fonts/otf/* && \ rm -f $(tree-share-prefix)/fonts/svg/* && \ rm -f $(tree-share-prefix)/fonts/fonts.conf && \ + rm -f $(tree-share-prefix)/fonts/00-lilypond-fonts.conf && \ + rm -f $(tree-share-prefix)/fonts/99-lilypond-fonts.conf && \ rm -f $(tree-share-prefix)/fonts/tfm/* && \ rm -f $(tree-share-prefix)/fonts/type1/* && \ cd $(tree-share-prefix)/fonts/otf && \ - ln -s ../../../../../../mf/$(outconfbase)/*.otf . + ln -s ../../../../../../mf/$(outconfbase)/*.otf . && \ + $(foreach i,$(addprefix $(TEXGYRE_DIR)/,$(TEXGYRE_FILES)), \ + ln -s $i . && ) true && \ + $(foreach i,$(addprefix $(URWOTF_DIR)/,$(URWOTF_FILES)), \ + ln -s $i . && ) true -cd $(tree-share-prefix)/fonts && \ - ln -s ../../../../../mf/$(outconfbase)/fonts.conf . + ln -s ../../../../../mf/$(outconfbase)/fonts.conf . && \ + ln -s ../../../../../mf/$(outconfbase)/00-lilypond-fonts.conf . && \ + ln -s ../../../../../mf/$(outconfbase)/99-lilypond-fonts.conf . -cd $(tree-share-prefix)/fonts/svg && \ ln -s ../../../../../../mf/$(outconfbase)/*.svg . -cd $(tree-share-prefix)/fonts/svg && \ @@ -308,7 +332,7 @@ test-baseline: local-check: test rm -rf $(RESULT_DIR) mkdir -p $(RESULT_DIR) - $(buildscript-dir)/output-distance --create-images --output-dir $(RESULT_DIR) \ + $(buildscript-dir)/output-distance --local-datadir --create-images --output-dir $(RESULT_DIR) \ input/regression/out-test-baseline input/regression/out-test \ input/regression/midi/out-test-baseline input/regression/midi/out-test @find input ly -name '*.ly' -print |grep -v 'out.*/' | xargs grep '\\version' -L | grep -v "standard input" |sed 's/^/**** Missing version: /g'