changeset 21093:0ebb8e26ebbc

build: Document Automake failure to 'include scripts/@ftp/module.mk'. * scripts/@ftp/module.mk: Add explanation why this file is empty. * scripts/module.mk: Delimit included scripts/@ftp/module.mk file with line of '#'.
author Rik <rik@octave.org>
date Sun, 17 Jan 2016 07:22:55 -0800
parents 429f83903400
children 622e34f6ede3
files scripts/@ftp/module.mk scripts/module.mk
diffstat 2 files changed, 44 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/@ftp/module.mk	Sun Jan 17 06:38:08 2016 -0800
+++ b/scripts/@ftp/module.mk	Sun Jan 17 07:22:55 2016 -0800
@@ -1,5 +1,10 @@
-## FIXME: including scripts/@ftp/module.mk fails.
-## Is that an automake bug?
-## Would getting the quoting character right fix it?
+## Automake fails to process "include scripts/@ftp/module.mk" in the directory
+## above.  All of the commands which would normally be in this file were
+## manually placed in scripts/module.mk to avoid using the "include" directive.
 ##
-## What should be in this file is in scripts/module.mk.
+## This is an Automake bug.  Automake has switched to a Perl backend which uses
+## the following pattern to detect a path:
+##
+## my $PATH_PATTERN = '(\w|[+/.-])+';
+##
+## This pattern only includes alphanumeric, '_', and [+/.-], but not "@".
--- a/scripts/module.mk	Sun Jan 17 06:38:08 2016 -0800
+++ b/scripts/module.mk	Sun Jan 17 07:22:55 2016 -0800
@@ -4,37 +4,6 @@
 scripts_DISTCLEANFILES =
 scripts_MAINTAINERCLEANFILES =
 
-## FIXME: including scripts/@ftp/module.mk fails.  Is that an automake bug?
-
-FCN_FILE_DIRS += scripts/@ftp
-
-scripts_@ftp_FCN_FILES = \
-  scripts/@ftp/ascii.m \
-  scripts/@ftp/binary.m  \
-  scripts/@ftp/cd.m  \
-  scripts/@ftp/close.m  \
-  scripts/@ftp/delete.m  \
-  scripts/@ftp/dir.m  \
-  scripts/@ftp/display.m  \
-  scripts/@ftp/ftp.m  \
-  scripts/@ftp/loadobj.m  \
-  scripts/@ftp/mget.m  \
-  scripts/@ftp/mkdir.m  \
-  scripts/@ftp/mput.m  \
-  scripts/@ftp/rename.m  \
-  scripts/@ftp/rmdir.m  \
-  scripts/@ftp/saveobj.m
-
-scripts_@ftpdir = $(fcnfiledir)/@ftp
-
-scripts_@ftp_DATA = $(scripts_@ftp_FCN_FILES)
-
-FCN_FILES += $(scripts_@ftp_FCN_FILES)
-
-PKG_ADD_FILES += scripts/@ftp/PKG_ADD
-
-DIRSTAMP_FILES += scripts/@ftp/$(octave_dirstamp)
-
 include scripts/audio/module.mk
 include scripts/deprecated/module.mk
 include scripts/elfun/module.mk
@@ -70,6 +39,41 @@
 include scripts/testfun/module.mk
 include scripts/time/module.mk
 
+## include scripts/@ftp/module.mk
+## The include above fails because Automake cannot process the '@' character.
+## As a work around, the contents of scripts/@ftp/module.mk are placed directly
+## in this module.mk file.
+######################## include scripts/@ftp/module.mk ########################
+FCN_FILE_DIRS += scripts/@ftp
+
+scripts_@ftp_FCN_FILES = \
+  scripts/@ftp/ascii.m \
+  scripts/@ftp/binary.m  \
+  scripts/@ftp/cd.m  \
+  scripts/@ftp/close.m  \
+  scripts/@ftp/delete.m  \
+  scripts/@ftp/dir.m  \
+  scripts/@ftp/display.m  \
+  scripts/@ftp/ftp.m  \
+  scripts/@ftp/loadobj.m  \
+  scripts/@ftp/mget.m  \
+  scripts/@ftp/mkdir.m  \
+  scripts/@ftp/mput.m  \
+  scripts/@ftp/rename.m  \
+  scripts/@ftp/rmdir.m  \
+  scripts/@ftp/saveobj.m
+
+scripts_@ftpdir = $(fcnfiledir)/@ftp
+
+scripts_@ftp_DATA = $(scripts_@ftp_FCN_FILES)
+
+FCN_FILES += $(scripts_@ftp_FCN_FILES)
+
+PKG_ADD_FILES += scripts/@ftp/PKG_ADD
+
+DIRSTAMP_FILES += scripts/@ftp/$(octave_dirstamp)
+####################### end include scripts/@ftp/module.mk #####################
+
 image_DATA += $(SCRIPTS_IMAGES)
 
 GEN_FCN_FILES_IN = $(GEN_FCN_FILES:.m=.in)