X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2FGNUmakefile;h=6d9afd770c4ed991e520c84e33d6f1d43029042f;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=8d3fb024a062e437b87e357b819797775451c0d6;hpb=9879bd7a67e4f72c6fa7f30eb355f2dc56f9a4bc;p=lilypond.git diff --git a/lily/GNUmakefile b/lily/GNUmakefile index 8d3fb024a0..6d9afd770c 100644 --- a/lily/GNUmakefile +++ b/lily/GNUmakefile @@ -2,37 +2,44 @@ depth = .. NAME = lilypond -SUBDIRS = include -MODULE_LIBS= $(depth)/flower $(depth)/ttftool $(depth)/kpath-guile -MODULE_INCLUDES= $(depth)/flower/include $(depth)/ttftool/include -MODULE_CXXFLAGS= +MODULE_LIBS=$(depth)/flower +MODULE_INCLUDES= $(depth)/flower/include + HELP2MAN_EXECS = lilypond STEPMAKE_TEMPLATES=c c++ executable po help2man -OUT_DIST_FILES=$(addprefix $(outdir)/,parser.cc parser.hh) - -include $(depth)/make/stepmake.make +include $(depth)/make/stepmake.make -ifeq ($(HAVE_LIBKPATHSEA_SO),no) -MODULE_LDFLAGS+= $(KPATHSEA_LIBS) +ifeq ($(LINK_GXX_STATICALLY),yes) +MODULE_LDFLAGS += -L$(outdir) -static-libgcc endif +CXXFLAGS += -Woverloaded-virtual + # for profiling, link guile statically: # -# USER_LDFLAGS += -static -lltdl -ldl +# CONFIG_LDFLAGS += -static -lltdl -ldl # ifeq ($(PLATFORM_WINDOWS),yes) -WINDRES_FLAGS += -DLilyPond=1 +WINDRES_FLAGS += -DLilyPond=0 -DLY=1 O_FILES += $(outdir)/lilypond.rc.o $(outdir)/lilypond: $(outdir)/lilypond.rc.o -$(outdir)/lilypond.rc.o: $(outdir)/lilypond.ico -$(outdir)/lilypond.ico: $(abs-srcdir)/Documentation/pictures/lelie-logo.xpm - convert $< $@ +$(outdir)/lilypond.rc.o: $(outdir)/lilypond.ico $(outdir)/ly.ico +$(top-build-dir)/Documentation/logo/$(outbase)/lilypond.ico: + $(MAKE) -C $(top-build-dir)/Documentation/logo + +$(outdir)/lilypond.ico: $(top-build-dir)/Documentation/logo/$(outbase)/lilypond.ico + cp $< $@ +$(top-build-dir)/Documentation/logo/$(outbase)/ly.ico: + $(MAKE) -C $(top-build-dir)/Documentation/logo + +$(outdir)/ly.ico: $(top-build-dir)/Documentation/logo/$(outbase)/ly.ico + cp $< $@ endif ETAGS_FLAGS += --regex='{c++}/^LY_DEFINE *(\([^,]+\)/\1/' @@ -40,22 +47,41 @@ ETAGS_FLAGS += --regex='{c++}/^LY_DEFINE *([^"]*"\([^"]+\)"/\1/' default: + +$(outdir)/libstdc++.a: + rm -f $@ + ln -s `$(CXX) -print-file-name=libstdc++.a` $(outdir) + +ifeq ($(LINK_GXX_STATICALLY),yes) +$(outdir)/lilypond: $(outdir)/libstdc++.a +endif + # force these: Make can't know these have to be generated in advance -$(outdir)/lily-parser.o: $(outdir)/parser.hh -$(outdir)/lily-lexer.o: $(outdir)/parser.hh +$(outdir)/lily-parser.o $(outdir)/parser.o: $(outdir)/parser.hh +$(outdir)/lily-lexer.o: $(outdir)/parser.hh $(outdir)/FlexLexer.h $(outdir)/lexer.o: $(outdir)/parser.hh $(outdir)/version.hh +$(outdir)/lily-lexer-scheme.o \ + $(outdir)/lily-parser-scheme.o \ + $(outdir)/parse-scm.o: $(outdir)/parser.hh + +ifneq ($(FLEXLEXER_FILE),) +$(outdir)/FlexLexer.h: $(FLEXLEXER_FILE) $(config_h) + cp $< $@ +endif + +$(outdir)/lexer.cc: $(config_h) +$(outdir)/parser.cc: $(config_h) +ifneq ($(LILYPOND_EXTERNAL_BINARY),) +$(outdir)/lilypond.1: $(LILYPOND_EXTERNAL_BINARY) $(buildscript-dir)/help2man + $(buildscript-dir)/help2man $(LILYPOND_EXTERNAL_BINARY) > $@ +endif $(outdir)/general-scheme.o: $(outdir)/version.hh -$(outdir)/kpath.o: $(outdir)/version.hh $(outdir)/lily-guile.o: $(outdir)/version.hh $(outdir)/lily-version.o: $(outdir)/version.hh +$(outdir)/main.o: $(outdir)/version.hh +$(outdir)/relocate.o: $(outdir)/version.hh +$(outdir)/warn-scheme.o: $(outdir)/version.hh local-po: $(outdir)/parser.cc - -# ugh. For --srcdir builds, these must exist to satisfy their broken -# lexer.dep and parser.dep file entries. -ifneq ($(srcdir), .) -.PRECIOUS: $(outdir)/lexer.cc $(outdir)/parser.cc -endif -