]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.106.jcn2
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 11 Nov 2000 12:42:11 +0000 (13:42 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 11 Nov 2000 12:42:11 +0000 (13:42 +0100)
1.3.106.jcn2
============

* Cross compilation and info build fixes, really cancel all builtin
rules, sigh.

CHANGES
Documentation/user/GNUmakefile
VERSION
aclocal.m4
config.make.in
make/mudela-rules.make
make/stepmake.make
stepmake/aclocal.m4
stepmake/make/stepmake.make
stepmake/stepmake/no-builtin-rules.make [new file with mode: 0644]
stepmake/stepmake/texinfo-targets.make

diff --git a/CHANGES b/CHANGES
index 9025bc9c5af5e324f7074e82f30451223c0578c2..7f51bc8c87177297e2633425728fecdb34d324e7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,9 @@
+1.3.106.jcn2
+============
+
+* Cross compilation and info build fixes, really cancel all builtin
+rules, sigh.
+
 1.3.106.jcn1
 ============
 
index b586a9a4f59211a7c533f522c2a265759b6048f4..5fac94b489ef1179de27a2411e0f7d0214a84f53 100644 (file)
@@ -29,6 +29,11 @@ dvi: $(DVI_FILES)
 
 ps: $(PS_FILES)
 
+# Cancel default info rule
+$(outdir)/%.info: $(outdir)/%.texi
+
+# info is now built by default via texinfo-rules
+# we must build them by default, otherwise they get built during make install
 info: $(INFO_FILES)
 
 default: 
@@ -59,16 +64,21 @@ backdoc-WWW: $(outdir)/lilypond-internals/lilypond-internals.html
 
 #ugh. lily/OUT/lilypond hardcoded.
 # when cross-compiling, we don't have lilypond
-$(outdir)/lilypond-internals.texi:
-       if [ -e $(depth)/$(builddir)/lily/out/lilypond ]; then \
-               cd $(outdir) && ../$(depth)/$(builddir)/lily/out/lilypond ../$(src-depth)/ly/generate-documentation; \
-       else \
-               touch $@; \
-       fi
+ifneq ($(CROSS),yes)
+$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi:
+       cd $(outdir) && ../$(depth)/$(builddir)/lily/out/lilypond ../$(src-depth)/ly/generate-documentation
+       -ln $(outdir)/lilypond-internals.texi $(outdir)/lilypond-internals.nexi
+else
+$(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi:
+##     -cd $(outdir) && lilypond ../$(src-depth)/ly/generate-documentation
+##programming error: Improbable offset for translation: setting to zero (Continuing; cross thumbs)
+##programming error: Molecule::add_at_edge: adding empty molecule. (Continuing; cross thumbs)
+       touch $@
+       touch $(outdir)/$(*F).nexi
+endif
 
 # Generic rule not possible?
 # $(outdir)/%/%.html: $(outdir)/%.texi
-
 $(outdir)/lilypond/lilypond.html: $(outdir)/lilypond.texi
        -$(MAKEINFO) --force --output=$@ --html $<
 # we want footers even if website builds (or is built) partly
diff --git a/VERSION b/VERSION
index b75925ac0d508fd4c39f503810f7339d7d45466e..d004ba8d7ba0e4988e0337741cdf5f63bc0f1bb7 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=106
-MY_PATCH_LEVEL=jcn1
+MY_PATCH_LEVEL=jcn2
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index e812c5f830418577f6a1792b571bf62d36f31d4d..724a91b40b7265b18cf05aa870ad088ec47310a6 100644 (file)
@@ -76,6 +76,7 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [
 
     CFLAGS="$CFLAGS $OPTIMIZE"
     CPPFLAGS=${CPPFLAGS:-""}
+    AC_SUBST(cross_compiling)
     AC_SUBST(CFLAGS)
     AC_SUBST(CPPFLAGS)
     AC_SUBST(LDFLAGS)
index 0676f025c06bdb998ce5cfd54a105cd10c1919fd..97b7d70045c6695f7511f0f8bb923f058cc753ab 100644 (file)
@@ -9,6 +9,7 @@ USER_CXXFLAGS = @CXXFLAGS@ @CPPFLAGS@ @GUILE_CFLAGS@
 USER_LDFLAGS = @LDFLAGS@ @GUILE_LDFLAGS@
 
 CC = @CC@
+CROSS = @cross_compiling@
 CXX = @CXX@
 GCC = @GCC@
 LD = @LD@
index 28fd1893a7c0c742e62dbf890647d9e93fb1d2d7..aa78b14c249268baacf668bc64bda5be6e7c0632 100644 (file)
@@ -21,5 +21,10 @@ $(outdir)/%.nexi: %.tely
        mv $(@D)/$(*F).texi $@
        $(SUBST_TEXI_DEPS)
 
+# nfo: info from non-lily texi
 $(outdir)/%.info: $(outdir)/%.nexi
-       -$(MAKEINFO) --force --output=$@ $<
+       -$(MAKEINFO) --force --output=$(outdir)/$(*F).info $<
+
+# nfo: info from non-lily texi
+#$(outdir)/%.nfo: $(outdir)/%.nexi
+#      -$(MAKEINFO) --force --output=$(outdir)/$(*F).info $<
index d31fae07264efc0e6b88378696400b61cd049b3e..9cfe90e50c1395d097baaa23757fcce9f7b13d0e 100644 (file)
@@ -2,11 +2,6 @@
 
 include $(depth)/make/toplevel-version.make
 
-# Don't try to outsmart us, you puny computer!
-ifeq (0,${MAKELEVEL})
-  MAKE:=$(MAKE) --no-builtin-rules
-endif
-.SUFFIXES:
 
 # Use alternate configurations alongside eachother:
 #
@@ -63,6 +58,14 @@ stepdir = $(stepmake)/stepmake
 STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES) 
 LOCALSTEPMAKE_TEMPLATES:= generic $(LOCALSTEPMAKE_TEMPLATES)
 
+# Don't try to outsmart us, you puny computer!
+# Well, UGH.  This only removes builtin rules from
+# subsequent $(MAKE)s, *not* from the current run!
+ifeq (0,${MAKELEVEL})
+  MAKE:=$(MAKE) --no-builtin-rules
+  include $(stepdir)/no-builtin-rules.make
+endif
+.SUFFIXES:
 
 all:
 
index e812c5f830418577f6a1792b571bf62d36f31d4d..724a91b40b7265b18cf05aa870ad088ec47310a6 100644 (file)
@@ -76,6 +76,7 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [
 
     CFLAGS="$CFLAGS $OPTIMIZE"
     CPPFLAGS=${CPPFLAGS:-""}
+    AC_SUBST(cross_compiling)
     AC_SUBST(CFLAGS)
     AC_SUBST(CPPFLAGS)
     AC_SUBST(LDFLAGS)
index 2834b7bc171cb83b7a11044fbbdac439e26bd9bd..6e524643e06247b5ea7db23ff76042528f2e8c30 100644 (file)
@@ -2,12 +2,6 @@
 
 include $(depth)/make/toplevel-version.make
 
-# Don't try to outsmart us, you puny computer!
-ifeq (0,${MAKELEVEL})
-  MAKE:=$(MAKE) --no-builtin-rules
-endif
-.SUFFIXES:
-
 # Use alternate configurations alongside eachother:
 #
 #     ./configure --enable-config=debug
@@ -64,6 +58,15 @@ STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES)
 LOCALSTEPMAKE_TEMPLATES:= generic $(LOCALSTEPMAKE_TEMPLATES)
 
 
+# Don't try to outsmart us, you puny computer!
+# Well, UGH.  This only removes builtin rules from
+# subsequent $(MAKE)s, *not* from the current run!
+ifeq (0,${MAKELEVEL})
+  MAKE:=$(MAKE) --no-builtin-rules
+  include $(stepdir)/no-builtin-rules.make
+endif
+.SUFFIXES:
+
 all:
 
 -include $(addprefix $(depth)/make/,$(addsuffix -inclusions.make, $(LOCALSTEPMAKE_TEMPLATES)))
diff --git a/stepmake/stepmake/no-builtin-rules.make b/stepmake/stepmake/no-builtin-rules.make
new file mode 100644 (file)
index 0000000..e8e2718
--- /dev/null
@@ -0,0 +1,242 @@
+# UGH.  GNU make comes with implicit rules.
+# We don't want any of them, and can't force users to run
+# --no-builtin-rules
+
+.SUFFIXES:
+
+#Compiling C programs
+#    `N.o' is made automatically from `N.c' with a command of the form
+#     `$(CC) -c $(CPPFLAGS) $(CFLAGS)'.
+
+%.o: %.c
+
+# Compiling C++ programs
+#      `N.o' is made automatically from `N.cc' or `N.C' with a command of
+#      the form `$(CXX) -c $(CPPFLAGS) $(CXXFLAGS)'.  We encourage you to
+#      use the suffix `.cc' for C++ source files instead of `.C'.
+
+%.o: %.cc
+
+# Compiling Pascal programs
+#      `N.o' is made automatically from `N.p' with the command `$(PC) -c
+#      $(PFLAGS)'.
+
+%.o: %.p
+
+# Compiling Fortran and Ratfor programs
+#      `N.o' is made automatically from `N.r', `N.F' or `N.f' by running
+#      the Fortran compiler.  The precise command used is as follows:
+
+#     `.f'
+#           `$(FC) -c $(FFLAGS)'.
+
+%.o: %.f
+
+#     `.F'
+#           `$(FC) -c $(FFLAGS) $(CPPFLAGS)'.
+
+%.o: %.F
+
+#     `.r'
+#           `$(FC) -c $(FFLAGS) $(RFLAGS)'.
+
+%.o: %.r
+
+# Preprocessing Fortran and Ratfor programs
+#      `N.f' is made automatically from `N.r' or `N.F'.  This rule runs
+#      just the preprocessor to convert a Ratfor or preprocessable
+#      Fortran program into a strict Fortran program.  The precise
+#      command used is as follows:
+
+#     `.F'
+#           `$(FC) -F $(CPPFLAGS) $(FFLAGS)'.
+
+%.f: %.F
+
+#     `.r'
+#           `$(FC) -F $(FFLAGS) $(RFLAGS)'.
+
+%.f: %.r
+
+# Compiling Modula-2 programs
+#      `N.sym' is made from `N.def' with a command of the form `$(M2C)
+#      $(M2FLAGS) $(DEFFLAGS)'.  `N.o' is made from `N.mod'; the form is:
+#      `$(M2C) $(M2FLAGS) $(MODFLAGS)'.
+
+%.sym: %.def
+%.o: %.mod
+
+# Assembling and preprocessing assembler programs
+#      `N.o' is made automatically from `N.s' by running the assembler,
+#      `as'.  The precise command is `$(AS) $(ASFLAGS)'.
+
+%.o: %.s
+
+#      `N.s' is made automatically from `N.S' by running the C
+#      preprocessor, `cpp'.  The precise command is `$(CPP) $(CPPFLAGS)'.
+
+%.s: %.S
+
+# Linking a single object file
+#      `N' is made automatically from `N.o' by running the linker
+#      (usually called `ld') via the C compiler.  The precise command
+#      used is `$(CC) $(LDFLAGS) N.o $(LOADLIBES) $(LDLIBS)'.
+
+%: %.o
+
+#      This rule does the right thing for a simple program with only one
+#      source file.  It will also do the right thing if there are multiple
+#      object files (presumably coming from various other source files),
+#      one of which has a name matching that of the executable file.
+#      Thus,
+
+#           x: y.o z.o
+
+#      when `x.c', `y.c' and `z.c' all exist will execute:
+
+#           cc -c x.c -o x.o
+#           cc -c y.c -o y.o
+#           cc -c z.c -o z.o
+#           cc x.o y.o z.o -o x
+#           rm -f x.o
+#           rm -f y.o
+#           rm -f z.o
+
+#      In more complicated cases, such as when there is no object file
+#      whose name derives from the executable file name, you must write
+#      an explicit command for linking.
+
+#      Each kind of file automatically made into `.o' object files will
+#      be automatically linked by using the compiler (`$(CC)', `$(FC)' or
+#      `$(PC)'; the C compiler `$(CC)' is used to assemble `.s' files)
+#      without the `-c' option.  This could be done by using the `.o'
+#      object files as intermediates, but it is faster to do the
+#      compiling and linking in one step, so that's how it's done.
+
+# Yacc for C programs
+#      `N.c' is made automatically from `N.y' by running Yacc with the
+#      command `$(YACC) $(YFLAGS)'.
+
+%.c: %.y
+
+# Lex for C programs
+#      `N.c' is made automatically from `N.l' by by running Lex.  The
+#      actual command is `$(LEX) $(LFLAGS)'.
+
+%.c: %.l
+
+# Lex for Ratfor programs
+#      `N.r' is made automatically from `N.l' by by running Lex.  The
+#      actual command is `$(LEX) $(LFLAGS)'.
+
+%.r: %.l
+
+#      The convention of using the same suffix `.l' for all Lex files
+#      regardless of whether they produce C code or Ratfor code makes it
+#      impossible for `make' to determine automatically which of the two
+#      languages you are using in any particular case.  If `make' is
+#      called upon to remake an object file from a `.l' file, it must
+#      guess which compiler to use.  It will guess the C compiler, because
+#      that is more common.  If you are using Ratfor, make sure `make'
+#      knows this by mentioning `N.r' in the makefile.  Or, if you are
+#      using Ratfor exclusively, with no C files, remove `.c' from the
+#      list of implicit rule suffixes with:
+
+#           .SUFFIXES:
+#           .SUFFIXES: .o .r .f .l ...
+
+# Making Lint Libraries from C, Yacc, or Lex programs
+#      `N.ln' is made from `N.c' by running `lint'.  The precise command
+#      is `$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i'.  The same command is
+#      used on the C code produced from `N.y' or `N.l'.
+
+%.ln: %.c
+
+# TeX and Web
+#      `N.dvi' is made from `N.tex' with the command `$(TEX)'.  `N.tex'
+#      is made from `N.web' with `$(WEAVE)', or from `N.w' (and from
+#      `N.ch' if it exists or can be made) with `$(CWEAVE)'.  `N.p' is
+#      made from `N.web' with `$(TANGLE)' and `N.c' is made from `N.w'
+#      (and from `N.ch' if it exists or can be made) with `$(CTANGLE)'.
+
+%.dvi: %.tex
+%.tex: %.web
+%.tex: %.w
+%.tex: %.ch
+%.p: %.web
+%.c: %.w
+%.w: %.ch
+
+# Texinfo and Info
+#      `N.dvi' is made from `N.texinfo', `N.texi', or `N.txinfo', with
+#      the command `$(TEXI2DVI) $(TEXI2DVI_FLAGS)'.  `N.info' is made from
+#      `N.texinfo', `N.texi', or `N.txinfo', with the command
+#      `$(MAKEINFO) $(MAKEINFO_FLAGS)'.
+
+%.dvi: %.texinfo
+%.dvi: %.texi
+%.dvi: %.txinfo
+
+%.info: %.texinfo
+%.info: %.texi
+%.info: %.txinfo
+
+# RCS
+#      Any file `N' is extracted if necessary from an RCS file named
+#      either `N,v' or `RCS/N,v'.  The precise command used is
+#      `$(CO) $(COFLAGS)'.  `N' will not be extracted from RCS if it
+#      already exists, even if the RCS file is newer.  The rules for RCS
+#      are terminal (*note Match-Anything Pattern Rules: Match-Anything
+#      Rules.), so RCS files cannot be generated from another source;
+#      they must actually exist.
+
+%: %,v
+%: RCS/%,v
+
+# SCCS
+#      Any file `N' is extracted if necessary from an SCCS file named
+#      either `s.N' or `SCCS/s.N'.  The precise command used is
+#      `$(GET) $(GFLAGS)'.  The rules for SCCS are terminal (*note
+#      Match-Anything Pattern Rules: Match-Anything Rules.), so SCCS
+#      files cannot be generated from another source; they must actually
+#      exist.
+
+%: s.%
+%: SCCS/s.%
+
+#      For the benefit of SCCS, a file `N' is copied from `N.sh' and made
+#      executable (by everyone).  This is for shell scripts that are
+#      checked into SCCS.  Since RCS preserves the execution permission
+#      of a file, you do not need to use this feature with RCS.
+
+%: %.sh
+
+#      We recommend that you avoid using of SCCS.  RCS is widely held to
+#      be superior, and is also free.  By choosing free software in place
+#      of comparable (or inferior) proprietary software, you support the
+#      free software movement.
+
+#    Usually, you want to change only the variables listed in the table
+# above, which are documented in the following section.
+
+#    However, the commands in built-in implicit rules actually use
+# variables such as `COMPILE.c', `LINK.p', and `PREPROCESS.S', whose
+# values contain the commands listed above.
+
+#    `make' follows the convention that the rule to compile a `.X' source
+# file uses the variable `COMPILE.X'.  Similarly, the rule to produce an
+# executable from a `.X' file uses `LINK.X'; and the rule to preprocess a
+# `.X' file uses `PREPROCESS.X'.
+
+#    Every rule that produces an object file uses the variable
+# `OUTPUT_OPTION'.  `make' defines this variable either to contain `-o
+# $@', or to be empty, depending on a compile-time option.  You need the
+# `-o' option to ensure that the output goes into the right file when the
+# source file is in a different directory, as when using `VPATH' (*note
+# Directory Search::).  However, compilers on some systems do not accept
+# a `-o' switch for object files.  If you use such a system, and use
+# `VPATH', some compilations will put their output in the wrong place.  A
+# possible workaround for this problem is to give `OUTPUT_OPTION' the
+# value `; mv $*.o $@'.
+
+
index ca47789ef08357c2901c1e702ebee549413f7bf3..1e40d936cfd5cf13b0115a8491be494d4afa3757 100644 (file)
@@ -1,5 +1,7 @@
-# empty
+
+default: $(INFO_FILES)
 
 local-WWW: $(addprefix $(outdir)/,$(TEXI_FILES:.texi=.html))
 
 local-doc: $(OUTTXT_FILES)
+